Senior frontend developer что это такое
Как стать Senior разработчиком: определение, навыки, материалы
Авторизуйтесь
Как стать Senior разработчиком: определение, навыки, материалы
Сфер в IT много, но путь становления Senior-разработчика плюс-минус одинаков. В этой статье мы поговорим о том, кто такой старший разработчик, какие к нему предъявляются требования и как дорасти до столь солидной должности.
Кто такой Senior программист?
Если не вдаваться в дебри специализаций, это одна из ступеней развития разработчика в цепочке Junior → Middle → Senior. Перед джуном также может указываться стажёр, а после сеньора — тимлид, но мы рассмотрим именно трёхэтапную схему.
Junior разработчик
Сразу оговоримся, что чётких научных измерений в этой системе нет. Для каких-то компаний джун — это вчерашний студент с минимальными знаниями и нулевым опытом, а кто-то ищет младших разработчиков с опытом работы от 2-х лет.
Но практически все сходятся в том, что это наименее ответственное звено, в развитие которого нужно вкладываться, отслеживать и координировать его действия. Скажем, это человек, который, работая, продолжает учиться.
Middle разработчик
По сути, это «подросший» Junior, который освоил необходимый стек технологий, уверенно обращается с Git, командной строкой, самостоятельно и в срок решает поставленные задачи.
Кроме того, Middle — это командный игрок, который может и чужой код прочесть, и дельное замечание по нему сделать, если требуется.
3 декабря в 10:40, Онлайн, Беcплатно
Где-то между джуном и мидлом есть ещё так называемые «уверенные джуны», но это, скорее, не промежуточный этап, а просто попытка компаний оставить уже обросшего опытом специалиста на позиции и зарплате Junior-разработчика. Как только почувствовали, что знаете и можете гораздо больше, чем джун, сразу же обсудите это с руководством.
Senior разработчик
Вот он, гвоздь программы, способный взять на себя проект и даже руководить отдельным подразделением. Senior Developer обладает обширным багажом знаний, способен стать ментором для Trainee или Junior разработчика, а также улучшать эффективность команды за счёт реализации своих идей.
Грубо говоря, если вы не нуждаетесь в сторонней помощи и, напротив, сами можете предоставить такую помощь, в числе первых берёте на абордаж новые технологии и не боитесь использовать их на практике, вы Senior программист.
Что должен знать и уметь сеньор разработчик?
Так как же стать Senior разработчиком? Не стойте на месте: осваивайте новые языки и технологии, записывайтесь на вебинары, бросайтесь в принципиально новые подходы, дабы не пасти задних, и развивайтесь всесторонне.
Довольно обобщённые советы, не правда ли? Что ж, попытаемся их структурировать и раскрыть подробнее.
1. Технические навыки
Во-первых, это понимание алгоритмов и умение писать чистый код. Во-вторых, для одной задачи существует множество решений, но именно Senior Developer способен определить, какое из них оптимально в конкретном случае.
Перед началом работы всегда спрашивайте себя:
Если для решения проблемы нужно освоить новую СУБД, фреймворк или сторонний сервис, вы осваиваете это.
Но что реально отличает сеньора от остальных, так это опыт поддержки проектов, даже если речь идёт о всеми забытом и припорошенном пылью легаси коде.
Кроме того, чтобы думать, как Senior, нужно расширять способы обработки информации. В этом поможет книга Иана Макдермотта и Джозефа О`Коннора «Искусство системного мышления». Также есть краткая выжимка основных мыслей в формате аудиокниги:
2. Коммуникативные навыки
Не будем распыляться о том, что старший разработчик должен хорошо знать английский язык. В любом случае держите бесплатные материалы по английскому для айтишников.
Как вы уже поняли, сеньоры часто ведут проекты самостоятельно, поэтому очень важно уметь обрабатывать ТЗ заказчика, задавать правильные вопросы, которые выльются в исчерпывающие ответы, устанавливать сроки выполнения и выстраивать план работ. Разумеется, проджект-менеджеров никто не отменял, но в идеале старший разработчик может справляться и без их помощи.
А ещё программирование — это почти всегда работа в команде, поэтому нужно уметь организовать процесс, отталкиваясь от навыков и запросов других сотрудников. Вы должны быть на «ты» с гибкими методологиями разработки, и такие термины, как Agile, Scrum и Kanban, не должны вас пугать.
3. Навыки ментора и интервьюера
Подбор персонала и обучение новичков — задачи, которые нередко ложатся на плечи сеньоров. Как человек, прошедший обучение, становление и набивший достаточное количество шишек, Senior-программист прекрасно знает, какие вопросы задавать, чтобы выделить сильные и слабые стороны кандидата, а также как организовать рабочий процесс для тех, кто уже прошёл собеседование.
4. Навыки профессионального роста
Если вы думаете, что дослужитесь до звания Senior Developer и закончите на этом свой учебный путь, вы ошибаетесь. Старшие разработчики как никто знают, сколь важно постоянно развиваться, осваивая всё новые и новые горизонты. Они никогда не ограничиваются одним набором инструментов, ведь в погоне за оптимизацией рабочего процесса так или иначе приходится обращаться к чему-то новому.
Если у вас есть боязнь применения новых знаний на практике, также известная как синдром вечного студента, вам нужно её преодолеть, чтобы стать Senior разработчиком.
Принципиальная разница между джуном и сеньором в том, что первый, как правило, воспринимает обучение как обязаловку, в то время как второй видит в этом ценную необходимость, ключ от закрытых дверей.
От сеньора редко можно услышать что-то вроде «Ненавижу этот инструмент», поскольку он уже изучил его, выделил все плюсы и минусы, знает, когда его стоит применять, а когда это бесполезная трата времени и ресурсов.
5. Навыки работы с сообществом
Мало того что старшие программисты хорошо выполняют свою работу, так они ещё и «подтягивают» айтишное комьюнити. Часто выступают с докладами, организовывают митапы, пишут документации и полезные статьи, которые помогают развиваться другим.
Иными словами, Senior разработчик не закрывается в своём рабочем пространстве, втихую накапливая знания и скрывая их от остальных. Скорее, это те самые гуру, раздающие дельные советы на Stack Overflow. Они любят делиться своим опытом, так как это:
Вместо эпилога
Всё сказанное уже сказано, поэтому просто держите несколько дополнительных материалов, чтобы лучше понять, как стать Senior разработчиком:
Кто такой фронтенд-разработчик, на каком языке он пишет, какие фреймворки использует, где живет и сколько зарабатывает. Украинский ресурс DOU.UA проанализировал 1440 анкет Front-end Developers летнего зарплатного опроса и ответил на все эти вопросы.
Самое интересное: почти половина Front-end Developer’ов в Киеве имеет тайтл Senior, популярность TypeScript активно растет, а зарплаты тех, у кого TypeScript это основной язык программирования, выше чем у JavaScript’еров.
В статье приведены медианные зарплаты, «чистые», то есть после уплаты всех налогов и сборов, и рассчитанные в долларах США.
Много начинающих и доля женщин выше, чем среди других разработчиков
Во фронтенде больше начинающих: только 29% этих специалистов имеют более 5 лет опыта в ИТ, в то время как в среднем среди разработчиков их доля достигает 42%. Как следствие, среди них меньше специалистов уровня Senior и выше (36% против 47% среди разработчиков в целом), а больше специалистов уровня Middle (42% против 36%) и Junior (20% против 15%).
Также фронтендщики несколько хуже других разработчиков знают английский: 58% оценивают свой уровень как начальный или средний, в то же время среди разработчиков всего таких 52%.
Основной язык программирования
Все языки, которые используются
Какая библиотека и фреймворк используется в работе
Разработчики, чаще применяют TypeScript, одинаково часто используют как Angular (53%), так и React.js (51%), а другие фреймворки их почти не привлекают.
По сравнению с другими разработчиками, фронтенд-специалисты чаще пишут для Web, а также для мобильных платформ.
Целевые платформы
Зарплаты фронтенд-специалистов на TypeScript выше JavaScript
Прежде всего это можно объяснить тем, что в Front-еnd работает меньше опытных специалистов, чем среди других специализаций. Если сравнивать разработчиков с одинаковым опытом работы, то разница в зарплатах исчезает, и опытные фронтендщики получают такие же зарплаты, как и специалисты в Back-еnd, Full Stack и Mobile.
К тому же, стоит отметить, что опрос проводился летом. И, учитывая перегретость рынка, допускаем, что медиана пока могла несколько увеличиться. Но это мы увидим уже в результатах зимнего опроса.
Медианные зарплаты разработчиков: опыт и специализация
Однако специалистам, пишущих на TypeScript, готовы платить больше, несмотря на опыт. Разница в зарплатах исчезает только среди наиболее опытных разработчиков: медианные зарплаты тех, кто имеет более 10 лет опыта в ИТ, практически одинаковы для обоих языков.
Медианные зарплаты: TypeScript vs JavaScript
Библиотеки и фреймворки, с которыми работает фронтенд-специалист, тоже влияют на размер вознаграждения.
Медианные зарплаты: библиотеки и фреймворки
Зарплата фронтендщиков не зависит от типа компании, но зависит от уровня английского
Медианные зарплаты: английский
Медианные зарплаты: города
Как и в случае с городами, разница в зарплатах фронтенд-специалистов, работающих в различных компаниях, зависит прежде всего от уровня специалиста, а не от типа компании.
Медианные зарплаты: тип компании
Медианные зарплаты: размер компании
Медианные зарплаты в Front-еnd у женщин несколько ниже, чем у мужчин. Это прежде всего связано с тем, что среди женщин меньше доля опытных специалистов: 16% женщин, которые специализируются на Front-еnd, имеют опыт работы более 5 лет, тогда как среди мужчин таких 31%.
Однако даже с одинаковыми тайтлом и похожим опытом, по нашим данным, женщины во фронтенде получают все же немного меньше мужчин. Однако подробно проанализировать причины не можем, так как в нашем опросе приняло участие небольшое количество разработчиц.
Медианные зарплаты: мужчины и женщины
Подробная информация с разбивкой по категориям, городам и опыту можно посмотреть в разделе «Зарплаты».
Если у вас есть комментарии, предложения или замечания к статье 👉 переходите к обсуждению или пишите на vlada@dou.ua.
Аналитика: Ирина Ипполитова
Визуализация данных: Игорь Яновский
Что должен знать senior frontend developer?
Оценить 1 комментарий
Если говорит о личном мнении, то суть не в конкретных скиллах.
Это как если бы спросить, что должен уметь «водитель», не уточняя водитель какой категории, какого транспортного средства и какие задачи он будет выполять (развозка пиццы и дирттрек на мотоцикле например совершенно разные вещи).
Суть в наличии определенного опыта, благодаря которому специалист сможет не совершать ошибок, не будет создавать ситуации, когда из-за неверно поставленного return’a будет ложиться система в продакшене и не будет создавать архитектурных несостыковок, из-за которых система будет ложиться под нагрузкой или в результате неверной обработки данных в виду сложной асинхронности.
Понимание всего JS целиком и полностью. Всех его багов и фич.
Знание ES6, ES2015, ES7, etc.
На данный момент, думаю, необходимо знание всяких view-библиотек и целиковых MVC фреймворков: React, AngularJS (+ 2.0), Vue.
Понимание взаимодействия браузера с клиентом, отличные познания в HTTP, WS.
Понимание асинхронности, синхронности, синхронизации.
Ну и само собой HTML, CSS, понимание и знание препроцессоров, постпроцессоров, css-modules, BEM. Умение настроить gulp/grunt/webpack.
Умение пользоваться npm/yarn.
Огромный багаж знаний в области библиотек. Какую можно подключить, а какую не стоит.
В разных компаниях на эту должность могут взять и даже джуна.
На самом деле такое бывает.
Здравствуйте, интересно узнать какими скилами и опытом должен обладать senior frontend разработчик? В разных вакансия абсолютно разные требования на такую позицию.
Исторически сложилось так, что чёткое определение «скиллов» на «должность» Senior’a, к сожалению, не существует, не зависимо от области, «фронтэнд» или что-то ещё.
Так же как, к «директору» или «тех. директору» в зависимости от масштабности и прочих параметров фирмы, требования будут разительно отличаться. Или например, требования к ведущему разработчику.
Представьте себе, ведущего разработчика и набор задач которые он должен решать, в какой-нибудь крупной компании, например, «Мейл.ру» и аналогичную должность, в компании «Сайтошлёп инкорпорейтед». Примерно с аналогичной ситуацией Вы столкнетесь при поступлении в институт, и «ценность» полученного образования соотв. пропорционально зависит от «сложности поступления».
Что должен уметь фронтенд-разработчик
Редактор Нетологии Светлана Шаповалова разбирается в том, кто такой фронтенд-разработчик, что он должен уметь (или не должен) и за что ему платят прекрасную зарплату (или не очень).
Кто такой фронтенд-разработчик
Согласно ежегодному исследованию StackOverflow, самая популярная профессия среди пользователей сервиса в 2017 году — это Web developer. Именно в эту категорию входят все фронтенд-разработчики.
Данные StackOverflow
Если зайти на первый попавшийся сайт по поиску работы, например, на hh.ru, создастся впечатление, что фронтенд-разработчик — это специалист-хамелеон.
Начинается все с путаницы в названиях вакансий: можно встретить и «front-end developer», и «front end разработчик», и «фронтендщик», и «фронтенд девелопер», и «web developer», и «фронтенд-разработчик». Иногда даже можно увидеть какого-нибудь «веб-верстальщика» с требованиями под фулстак-разработчика. Реакция на это одна: WTF?!
Беда в том, что часть работодателей не отличают (или не хотят отличать) верстальщика от фронтенд-разработчика, — это понятно по описанию вакансий. Разберемся, какие умения отделяют фронтенд-разработчика от «верстака» (верстальщики, не обижайтесь, вы тоже хорошие).
Верстальщик — боец узкого фронта. Его задача — сверстать полученный от дизайнера макет, используя HTML+CSS. Он, возможно, немного умеет в JavaScript, но чаще ограничивается умением прикрутить какой-нибудь плагин jQuery.
Фронтенд-разработчик не просто верстает макеты. Он хорошо знает JavaScript, разбирается во фреймворках и библиотеках (и активно юзает часть из них), понимает, что находится «под капотом» на серверной стороне. Его не пугают препроцессоры и сборщики LESS, SASS, GRUNT, GULP, он умеет работать с DOM, API, SVG-объектами, AJAX и CORS, может составлять SQL-запросы и копаться в данных. Получается сборная солянка навыков, к которым добавляется понимание принципов UI/UX-проектирования, адаптивной и отзывчивой верстки, кросс-браузерности и кросс-платформенности, а иногда и навыков мобильной разработки.
Фронтендщик в обязательном порядке умеет работать с контролем версий (Git, GitHub, CVS и т. д.), использовать графические редакторы, «играть» с шаблонами различных CMS.
Еще крайне желательно знать английский язык, чтобы не переводить спецификацию в Гугл-переводчике, уметь работать в команде, иногда мультиязычной, разбираться в веб-шрифтах, ну и понимать тестировщиков и сам процесс тестирования.
Итак, какие технологии должен освоить фронтенд-разработчик:
Что говорит статистика
Какие технологии и инструменты чаще всего используют фронтенд-разработчики? Во-первых, трудно представить фронтендщика, не умеющего в JavaScript. Это подтверждают опросы:
Данные StackOverflow
Если сгруппировать самые популярные инструменты в стеки, то получим такую ситуацию:
Данные StackOverflow
А набор самых популярных фреймворков и библиотек всех разработчиков выглядит следующим образом (см. иллюстрацию). Приятно видеть среди этого списка инструменты фронтенда:
Данные StackOverflow
Карьерный путь и зарплата фронтенд-разработчика
Карьерный путь фронтендера обычно начинается с верстальщика — это самый логичный и общепринятый вариант. Сначала изучается связка HTML+CSS, затем на нее «наслаиваются» знания JavaScript, библиотек и фреймворков. Будущий специалист также изучает ключевые понятия построения серверной части, добавляет сюда инструменты, необходимые для выбранной специализации. Затем все это шлифуется умением работать с контролем версий, графическими редакторами и пониманием принципов UI/UX-дизайна.
Бывают и иные варианты. Если начинающий программист изначально знает, в какой сфере планирует развиваться, ничто не мешает ему изучать ключевой стек технологий сразу, а не по частям. Все зависит от целей и времени, которыми располагает будущий фронтендщик. Любой вариант приемлем, лишь бы на выходе получился толковый специалист.
У готового фронтенд-разработчика в целом есть три основных варианта развития:
Какой из них выбрать — зависит лишь от самого специалиста и его пожеланий/навыков.
Касаемо зарплат фронтенд-разработчиков: здесь, как и во всей IT-индустрии, нет единого стандарта оплаты. Все зависит от навыков и умения подать себя. Ну, и от везения иногда 🙂
Средняя зарплата фронтенд-специалиста по России, рублей/месяц
Средняя зарплата фронтенд-специалиста по Москве, рублей/месяц
По данным «Моего круга»
Традиционно годовая зарплата фронтенд-разработчиков в США чуть выше, чем по России. Однако, если вы работаете в филиале иностранной компании — вам такой разрыв, скорее всего, не страшен.
По данным PayScale
Как стать фронтенд-разработчиком
Для начала снять розовые очки. Обучение — это труд и самодисциплина. Большинство начинающих айтишников отсеиваются на этапе «хочу стать программистом и получать зарплату в долларах, но не думал, что придется так много учиться». Уникальность программирования и вообще любой айтишной специальности в постоянном самообучении. В этом и сложность, и прелесть IT-сферы. Если вас это не пугает — круто! У вас есть все шансы стать отличным специалистом.
Главное правило будущего специалиста — ставить реальные цели в процессе обучения. В этом поможет планирование. Составьте список инструментов, которые планируете изучить, и держите его перед глазами.
Тем, кто стартует с нуля, надо начинать с HTML и CSS и освоить их на уровне идеальной верстки PSD-макетов. На этом этапе также надо научиться работать с текстовыми и графическими редакторами и знать основные принципы дизайна (как плюс). Затем взяться за JavaScript: синтаксис, архитектура и возможности языка. Освоить популярные фреймворки и библиотеки, параллельно полюбить системы контроля версий и какой-нибудь из популярных таскраннеров. Добавить препроцессоры и фреймворки CSS, разобраться в серверных технологиях. А дальше можно пить смузи на Бали шлифовать полученные знания до бесконечности.
Примерный путь начинающего фронтенд-разработчика.
У вас он будет свой.
Пройти этот путь можно как в одиночку, так и с наставниками (вузы, курсы). Вот какие самые популярные форматы обучения разработчиков по версии StackOverflow:
Данные StackOverflow
На первом месте находятся онлайн-курсы, за них проголосовали 64,7% опрошенных разработчиков, затем идут: самообучение по книгам, офлайн-курсы, опенсорс-разработка и лагери программирования. Интересно, что высшее образование (Master’s degree) стоит практически на последнем месте.
Вывод
Фронтенд-разработчик — это универсальный солдат. Он и макет заверстает, и веб-приложение построит, и серверную часть, если надо, освоит. Знать надо немало: HTML, CSS, JavaScript, библиотеки и фреймворки JS, препроцессоры и фреймворки CSS, системы контроля версий и таскраннеры, технологии бэкенда, юнит-тестирование и многое другое.
Кроме того, нелишними будут soft skills: взаимодействие с людьми и работа в команде, умение наладить эффективный workflow и решать поставленные задачи наиболее оптимальным способом. Не обойтись без уверенных знаний английского языка.
Оплата труда фронтенд-специалиста вполне себе достойная, и чем больше навыков — тем выше шансы получить «жирный» оклад.
Стать фронтенд-разработчиком может каждый, кто не пасует перед самообучением: как мы выяснили, полагаться на вузовское образование сложно. Идеальный вариант — различные онлайн и офлайн-курсы + литература по теме, практика и великий Гугл.
Нетология запускает полноценную программу подготовки фронтенд-специалистов — «Профессию front-end разработчик». Это 6-месячный курс, посвященный базовым технологиям фронтенд-разработки: HTML и CSS, JavaScript, Web API, AJAX, веб-сокеты, библиотека React.
По итогу курса студенты создадут собственное одностраничное веб-приложение. Обучение ведут 10 практикующих фронтенд-специалистов — это позволяет получить всестороннее понимание инструментов и задач фронтенд-разработки. В течение всего обучения студенты получат не менее 100 практических заданий, максимально близких к «боевым», и реализуют 3 проекта среднего объема и 1 полноценный проект в качестве дипломной работы.
Все студенты, успешно окончившие курс, получают удостоверение о повышении квалификации установленного образца и фирменный диплом Нетологии.