Начнем с того, откуда появилось само направление, так как когда я заходил в веб разработку в далеком 2006м году никаких страшных слов как фронтэнд, бэкэнд не употреблялось. Все были максимум веб-разработчиком или разработчиками сайтов, или что-то смежное.
Сама идея направления в разделении сущности интерфейса и бизнес-логики на независимые сущности. Ваша система — больше не монолитное приложение. Теперь их 2 и они друг от друга никак не зависят. Произошло это благодаря первым попыткам создать клиентские фреймворки таким образом, чтобы нужные данные получались посредством сетевого интерфейса или API(application programming interface). Из ярких примеров был AnguarJS от Google и EmberJS(удивительно, но достаточно частый стек в испанских компаниях).
К сожалению, а может и нет, но такая схема работы приводит к тому, что нужно понимать чуть больше чем то, что происходит в браузере клиента, но и минимум того, как мы будем получать данные и как работать с API безопасно и без угрозы полностью сломать само приложение.
Может ли человек, который занимался версткой под Битрикс, Тильду или Wordpress называть себя фронтендером ? На мой взгляд — это ломает суть специализации, но сменить деятельность всегда можно. Неприятная новость — знаний только верстки и пусть даже анимации будет очень недостаточно. Я не спорю, есть ребята, которые вытворяют с CSS такие вещи, что можно наблюдать часами за результатом раскрыв рот, но это очень редкие проекты и для этого появилось отдельное направление под названием UI Developer и Creative Developer. Найти вакансию по такому направлению гораздо тяжелее в силу рынка и количества проектов. Я расскажу в следующих статьях про это направление, так как с августа начну писать следующую книгу по 3D в вебе, это будет непосредственно касаться направлений UI разработки с применением ThreeJS и NextJS(как продолжение к первой по NextJS).
Почему не все так просто — будем разбираться. В современном фронтэнде приложение является законченной единицей и иногда даже сборным конструктором из нескольких частей, которые пере используются в других веб, а может и мобильных приложениях(да мы теперь и такое можем, и это стало достаточно серьезной проблемой причем как для разработчиков, так и для компаний). Нужно ли это знать одновременно и держать в одной голове ? Объективно — нет. Субъективно — да. Варианты, когда ты приходишь в компанию и ты единственный кодер на всю галактику очень редкие. В большинстве случаев нужно будет работать в команде. Команда легко простит не знание отдельных вещей, но не желание и отсутствие интереса — будет красной тряпкой для любой группы разработчиков.
Как быть если верстки уже не достаточно ? Конечно же взять мой курс.
Не сегодня. Сегодня я просто расскажу как быть и покажу план действий, так как для этого нужно сделать всего лишь часть решений, а самое важное следовать этому плану и не прыгать во все стороны.
Hard skills:
- Есть большое количество книг по JS и CSS для уровня выше начинающего. У себя на канале я буду делать подборки со ссылками где достать.
- GIT должен быть как отче наш или на уровне чуть ниже. Нет ничего хуже, чем тратить время на конфликты веток или не явное название веток или комментариев к ветке.
- Выбрать фреймворк. Да это может быть самой сложной процедурой, но настоятельно рекомендую не сравнивать посредством запроса в гугл — какой фреймворк лучше. Никакой. Они разные и у каждого свой подход. Знание одного не дает никаких преимуществ в изучении другого, потому что из одинакового только само слово фреймворк и пара фактов притянутых за уши.
- Посмотреть и главное протестировать на себе все best´practice по выбранному фреймворку. Их может быть достаточно много, но никто не обещал легкой прогулки
- Бога ради не брать никаких курсов или платных видео уроков, до тех пор, пока не создастся ситуация - я совсем не понимаю без помощи. Ютуб знает практически все и этого вполне хватит. Серьезных, прям на таких серьезных щах курсов вообще нет ни у кого, подавляющее большинство — это уровень начинающего или чуть выше.
- Делать мини приложения на своем фреймворке, желательно каждый день.
- Завести репозиторий и показывать этот репозиторий всем, кто хоть немного в теме. Если ты не сможешь жить с критикой, то словишь нервный срыв на первом код ревью. Возможно это будет даже последним в той компании куда получится устроиться.
Soft skills:
- Работайте с критикой — это важно. Если при вопросе ты не можешь объяснить это как 5ти летнему ребенку, то, скорее всего, ты сам не понимаешь, что делаешь.
- Общаться с инженерами, даже если они не в теме фронтенда, но комьюнити делает свое дело. Одна голова — хорошо, а у гидры 5. Синдром самозванца никуда не денется, но если проявлять интерес, то людям будет интересно даже учиться чему-то новому у тебя. Делись своим опытом, показывай ошибки, принимай критику. Только так произойдут нужные изменения в голове.
- Не спешить. Для обучения нужно время. Не получится просто прочитать вводную из документации и пару страниц StackOverflow, чтобы пройти собеседование на знание фреймворка. Я щелкаю как семечки всех начинающих и это видно не вооруженным взглядом прямо в его коде. Есть вещи, которые не документированы, есть то, что можно найти только по специализированному запросу. Если ты не делал, что-то раньше — это будет прозрачно видно.
- Не ври. Вранье начинается с самого себя. Если ты не опытный разработчик, просто признай это и научись. Врунов никто не любит.
Не забудь подписаться здесь и на мой телеграм канал, там больше движухи ну и фоточки конечно https://t.me/coder_in_austria. Встретимся в метавселенной. Удачи !