Месяц назад я был вынужден приостановить обучение на Хекслете, ибо мне предложили сделать сайт - настоящий сайт! Срок был дан две недели и я решил, что такой перерыв навредить не сможет, да и заниматься буду программированием как-никак.
На тот момент я уже знал основы HTML, CSS и прошёл половину курса фронтенд-программист, т.е. какой-нибудь лендинг я бы мог сверстать без проблем, но нужно было сделать совсем иной сайт - с базой данных, созданием личного кабинета, работой со сторонним браузерным расширением, и с бэкендом на Node.js… Я решил, что раз я немного разбираюсь в JS, то и с Node.js не сильно трудно будет разобраться. Тут нужно понимать, что до этого я даже плохо себе представлял как вообще работают нормальные сайты, что такое сервер и как взаимодействовать с базой данных.
Вышло так, что на весь сайт у меня ушло в два раза больше времени - месяц вместо двух недель, некоторые изначально планируемые функции прикрутить я так и не сумел, “сгорел”, пытаясь понять, откуда у меня берутся все эти ошибки, проклинал кривое API расширения и каждую минуту жалел о том, что подписался на всё это.
Я слышал, что некоторые люди в таких условиях учатся новым навыкам, получают знания и им это нравится. Я явно не из числа этих людей. Не могу сказать, что мне такой опыт ничего не дал. Считаю, что структурированное обучение даёт гораздо больше.
Подводя итоги, выделю плюсы и минусы создания сайта без необходимых на то знаний.
Минусы:
- тяжело находить информацию, разные источники, информация может быть устаревшей
- не всегда есть понимание того, что ты делаешь (работает - и ладно)
- приходится переписывать код уйму раз
- ты не получаешь знаний о том, как правильно писать код
Плюсы:
- опыт работы с хостингами (robots.txt, ssl, зеркала и прочее)
- понимание работы с серверами и базами данных
- пришлось освоить шаблонизатор PUG
- появилось представление о бэкенде и Node.js в частности
Я описал только основные вещи которые смог вспомнить, мелочей было множество. Опыт получился интересный, но повторять я его не буду.