17 декабря 2020

👶👨 Обучение от junior до senior: как стать востребованным веб-разработчиком

Веб-разработчик, фрилансер... Пишу об ИТ и смежных технологиях.
Осваивающие популярную ИТ-профессию новички стремятся стать веб-разработчиками минимум уровня middle, а самые амбициозные планируют дорасти до позиции senior. Рассказываем об этапах обучения и знаниях, которые потребуются для перехода с уровня на уровень этого квеста.
👶👨 Обучение от junior до senior: как стать востребованным веб-разработчиком

Профессионалы пользуются спросом на рынке труда за способность управлять проектами, определять приоритеты задач и давать советы младшим веб-разработчикам. Работодатели обычно соревнуются за таких специалистов, используя для их привлечения всевозможные бонусы и высокие зарплаты. Перейти на последний уровень нелегко, но награда того стоит. Важно спланировать продвижение по карьерной лестнице с упором на рост и обучение мы сделали пошаговое руководство, которое поможет frontend-разработчику пройти нелегкий путь от уровня junior до senior.

👶👨 Обучение от junior до senior: как стать востребованным веб-разработчиком

Начало карьеры в веб-разработке и обучение

Что нужно знать?

Занять вакансию в хорошей компании желают многие, поэтому устроиться даже на позицию junior будет непросто. Как начинать обучение на веб-разработчика с нуля мы уже писали, самое интересное приключение ждет вышедшего на испытательный срок новичка.

Начинающему frontend-разработчику обязательно понадобятся следующие знания, умения и навыки:

  1. Хорошие познания в HTML;
  2. Знание CSS, а также опыт работы с CSS-фреймворками (Twitter Bootstrap/Foundation) и CSS препроцессорами (Sass, Less, Stylus и т. д.);
  3. Владение графическими редакторами (Photoshop, Illustrator);
  4. Базовый опыт программирования на JavaScript (анимация, валидация, pop-ups);
  5. Понимание основных принципов работы хотя бы с одним фреймворком JS (ReactJS, AngularJS, Backbone, Vue.js);
  6. Практические навыки работы с системой контроля версий GIT;
  7. Знание популярных CMS (WordPress, Drupal, Joomla и т. д.);
  8. Владение инструментами дебаггинга (Chrome Dev Tools, Firebug).

Как нужно учиться?

Во время испытательного срока постарайтесь наладить контакт с более опытными разработчиками и перенимайте их опыт. Уже прошедшие этот этап коллеги могут рассказать много интересного о программировании, тестировании и отладке. От них вы узнаете, что еще ничего не знаете, но не пытайтесь объять необъятное. Определите наиболее критичные технологии, в которых вы разбираетесь слабо и изучайте их постепенно. Не ждите идеальных заданий – их не будет. Работайте с тем, что вам дают, и старайтесь предлагать улучшения функциональности продукта сверх заказанных. Помните, что под лежачий камень вода не течет – для роста нужна инициативность. Чтобы понять, какие изменения необходимы, мыслите категориями ценности продукта для пользователей.

Сколько времени потребуется?

Чтобы наработать необходимый хорошему джуну багаж, обычно требуется около года. Иногда это занимает чуть больше времени, но если к исходу второго года работы вы не уверены в собственных силах, значит что-то идет не так. Необходимо будет пересмотреть стратегию обучения или подумать о правильности выбора профессии.

Какого результата ожидать от обучения?

За время работы вы изучите основы программирования, разберетесь с инструментами веб-разработки, сформируете навыки взаимодействия в команде, научитесь общаться с пользователями и получите другой опыт, необходимый для перехода на позицию middle.

👶👨 Обучение от junior до senior: как стать востребованным веб-разработчиком

Переход на позицию middle

Что нужно знать?

Хотя в сфере ИТ есть общепринятая шкала для оценки разработчиков (trainee, junior, middle, senior, lead), точное определением круга обязанностей для каждого уровня меняется в зависимости от работодателя.

Тем не менее существует основной набор знаний, умений и навыков, обязательный для фронтенд-разработчика уровня middle:

  1. Доскональное знание синтаксиса используемого языка(JavaScript), опыт работы и уверенные теоретические познания в программировании;
  2. Владение ООП (наследование, полиморфизм и инкапсуляция);
  3. Хорошее знание одной из популярных библиотек JS (React, Angular, Vue и т. д.),;
  4. Умение самостоятельно настроить систему сборки проекта (Gulp/Grunt/Webpack), работая с нативным JS (ES5, ES6, ES7);
  5. Знание и понимание интерфейсов RESTful;
  6. Опыт работы со средствами совместного использования кода (Git + GitFlow);
  7. Уровень английского не ниже Upper-Intermediate.

Также есть дополнительные навыки, связанные с серверной стороной они будут большим плюсом при трудоустройстве:

  1. Опыт разработки серверного кода под Node.js и TypeScript;
  2. Базовые знания PHP;
  3. Опыт работы с PostgreSQL/MySQL.

Как нужно учиться?

Многие компании не любят платить сотруднику лишние деньги, если он и так работает. Значит потребуется инициатива с вашей стороны. Обозначьте свои намерения и присматривайтесь к знакам. Хорошо, если старшие товарищи и руководители обсуждают с вами рабочие вопросы тет-а-тет. Продвигаться в этом случае проще: при личной встрече можно узнать, чего вам не хватает до желаемой должности. Стоит также анализировать результаты своей работы и пытаться адекватно сравнить их с достижениями других разработчиков. Это поможет повысить квалификацию и продолжить двигаться по карьерной лестнице.

Сколько времени потребуется?

Четких временных рамок для завершения мидл-этапа нет – все зависит от таланта и усилий. Гений способен проскочить его экспрессом за пару лет, а кто-то застревает в одной позиции навсегда. На прохождение обычно требуется 2 – 5 лет трудового стажа.

Что в итоге?

Разве не очевидно? Высокооплачиваемая должность, возможности профессионального и карьерного роста + неплохие бонусы от компании.

👶👨 Обучение от junior до senior: как стать востребованным веб-разработчиком

Эволюция веб-разработчика уровня senior

Что нужно знать?

Достигнув верхнего (с точки зрения начинающего обучение с нуля джуниора) этажа пищевой цепочки, нельзя почивать на лаврах. Иначе вас быстро подвинут более молодые и голодные коллеги. Стратегия продвижения на уровне senior та же самая, меняется лишь объем и сложность усваиваемого материала. Прокачивать скилы новоиспеченный сеньор может до бесконечности, но есть и обязательный набор знаний, умений и навыков.

На этом этапе обучения потребуются следующие позиции:

  1. Умение писать грамотный, расширяемый код: JavaScript + TypeScript/CoffeeScript/Babel + ES6/ES7CSS (Flexbox) + Less/Sass/Scss/Stylus/PostCSS + BEM/SMACSS/OOCSS/MCSSHTML (Canvas/SVG) + Jade/HAML/Handlebars/Slim/Mustache;
  2. Знание и умение использовать паттернов проектирования(MVC/MVVM), умение составлять грамотную архитектуру проекта;
  3. Понимание и применение принципов SOLID, DRY, DIE, KISS, YAGNI;
  4. Знание и понимание принципов работы Backend – RestAPI, GraphQL, серверных языков программирования и фреймворков;
  5. Понимание взаимодействия браузера с клиентом, отличные познания в HTTP, WS;
  6. Умение грамотно и быстро оценивать проект по времени и по сложности;
  7. Опыт работы с тест-фреймворками (Mocha, Should, Chai, Jest);
  8. Знание Docker, а также Kubernetes/Docker Swarm.

Как нужно учиться?

На позиции senior открывается несколько путей развития. Вы можете прокачивать технические навыки, чтобы вырасти до уровня Technical Leader. Этот уровень предполагает больше общения с людьми, а также активное взаимодействие с подчиненными. Второй путь заключается в построении процессов и менеджменте. Третье направление – Team Lead, Head of Development или CTO (технический директор). В этом деле нужны очень хорошие организаторские навыки, а также умение строить процессы и взаимодействовать с бизнесом. По сути от ориентации на ценность продукта для пользователя нужно перестроиться на бизнес-ценности. При этом придется подтянуть менеджерские навыки или даже получить второе высшее образование.

Что в итоге?

Все, как на предыдущем этапе, только заработки гораздо выше, а бонусы вкуснее (некоторые крупные компании могут даже выплачивать разработчикам верхнего уровня опционы). Плюс отличные карьерные перспективы в зависимости от выбранного направления развития, а также обеспеченная старость под шелест волн на Багамах.

Выводы

Становление веб-разработчика высокого уровня – процесс постепенный. Начните с малого, и пусть каждый освоенный вами навык будет очередным шагом к конечной цели. Иногда возникающие на пути препятствия могут показаться непреодолимыми. Не бойтесь этого – дорогу осилит идущий. Нужно постоянно бросать вызов самому себе и каждый раз устанавливать планку немного выше.

***

Мне нужно оперативно погрузиться во фронтенд. Какой вариант самый быстрый и качественный?

Если 15 лет назад для того, чтобы называть себя фронтенд-разработчиком достаточно было знать HTML, CSS и JavaScript, то сейчас фронтенд-разработка почти не отстает от бэкенд-разработки по количеству фреймворков и сложности стеков. Самый быстрый и качественный вариант — получить знания из первых рук от преподавателей со стажем. Поэтому мы запустили курс «Frontend Basic: принцип работы современного веба», на котором вы:

  • освоите стек технологий, который позволит начать работать в любой компании на любом проекте;
  • сверстаете свой первый адаптивный макет с учетом семантики и множества декоративных элементов на HTML и CSS;
  • поймете, как с помощью JavaScript разрабатывать пользовательские интерфейсы;
  • разберетесь, как JavaScript используется в работе с backend и создадите свой первый обмен данными сервером;
  • углубитесь в более сложную разработку на React.js и напишете свой интернет-магазин;
  • изучите основные команды для работы с GIT, важнейшего инструмента для работы в любой команде.

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ