6Программирование давно уже стало крупной отраслью, объединяющей под одним названием множество разных профессий. Только далекие от сферы IT люди считают, что программист сможет им быстро установить Windows или «собрать простенький интернет-магазин». И очень удивляются, если оказывается, что человек никогда не работал с веб-сайтами или о системе Windows знает меньше, чем многие пользователи. Хотя бы потому, что сам пользуется Linux или Mac.
Если вы попробуете изучить списки вакансий IT-разработчиков, разнообразие названий специалистов и требований может даже испугать. Особенно если вы хотите собрать классную команду или найти себя в этом огромном профессиональном пространстве. А ведь нужно учитывать еще и человеческий фактор, чтобы проект все же состоялся, а карьера строилась.
На самом деле, все не так сложно, как может показаться. Программисты делятся на 8 основных типов по направлению деятельности. А в рамках личностных качеств лучше всего ориентироваться на особенности мотивации. Но для начала, давайте разберемся в направлениях деятельности.
Front-end разработчик
Сейчас программистов разделяют на разные категории, в зависимости от того, чем именно они заняты, и что применяют для решения поставленных задач. Одними из крайне востребованных специалистов выступают Frontend-разработчики. Поэтому давайте посмотрим, кто это такие и чем заняты эти специалисты.
Кто такой фронтенд-разработчик
Фронтенд-разработчик не просто верстает макеты. Он хорошо знает JavaScript, разбирается во фреймворках и библиотеках (и активно юзает часть из них), понимает, что находится «под капотом» на серверной стороне. Его не пугают препроцессоры и сборщики LESS, SASS, GRUNT, GULP, он умеет работать с DOM, API, SVG-объектами, AJAX и CORS, может составлять SQL-запросы и копаться в данных. Получается сборная солянка навыков, к которым добавляется понимание принципов UI/UX-проектирования, адаптивной и отзывчивой верстки, кросс-браузерности и кросс-платформенности, а иногда и навыков мобильной разработки.
Фронтендщик в обязательном порядке умеет работать с контролем версий (Git, GitHub, CVS и т. д.), использовать графические редакторы, «играть» с шаблонами различных CMS.
Еще крайне желательно знать английский язык, чтобы не переводить спецификацию в Гугл-переводчике, уметь работать в команде, иногда мультиязычной, разбираться в веб-шрифтах, ну и понимать тестировщиков и сам процесс тестирования.
Итак, какие технологии должен освоить фронтенд-разработчик:
- HTML и CSS (в том числе сетки и CSS-фреймворки, спецификации W3C и WHATWG, HTML5/CSS3 Polyfills)
- Препроцессоры CSS (Sass, Less, Stylus и т. д.)
- JavaScript
- Популярные фреймворки и библиотеки: jQuery, Angular.JS, React.JS, Backbone.js и т. д.)
- OOCSS / BEM / SMACSS
- SVG
- DOM
- HTML5 API
- ECMAScript 6
- Популярные CMS (WordPress, Drupal, Joomla и т.д.)
- Понимать принципы построения бекэнда и разбираться в серверных технологиях (Node.js, PHP, Ruby, .NET и т. д.)
- Инструменты дебаггинга (Chrome Dev Tools, Firebug и прочие)
- JavaScript транспайлеры (Babel)
- Инструменты контроля версий (Git, GitHub, CVS и т. д.)
- Базы данных и языки запросов (SQL, MySql, NoSQL, MongoDB и т. д.)
- Графические редакторы (Photoshop, Illustrator и т. д.)
В чем должен разбираться:
- кросс-браузерная и кросс-платформенная разработка;
- прогрессивное улучшение и изящная деградация;
- мобильная разработка;
- адаптивная и отзывчивая верстка;
- веб-шрифты;
- принципы SEO-оптимизации.
Чтобы приступить к выполнению обязанностей верстальщика, понадобятся для начала знания кроссбраузерной адаптивной верстки. Все прочее придет со временем. Профессиональный уровень верстальщиков зависит от того, насколько он разбирается в языке Java Script и сложных функциях движков (CMS). Касательно JavaScript следует отметить, что верстальщикам обычно достаточно изучить две библиотеки – AJAX и jQuery.
Карьера и зарплата фронтенд-разработчика
Карьера фронтендера обычно начинается с верстальщика — это самый логичный и общепринятый вариант. Сначала изучается связка HTML+CSS, затем на нее «наслаиваются» знания JavaScript, библиотек и фреймворков. Будущий специалист также изучает ключевые понятия построения серверной части, добавляет сюда инструменты, необходимые для выбранной специализации. Затем все это шлифуется умением работать с контролем версий, графическими редакторами и пониманием принципов UI/UX-дизайна.
У готового фронтенд-разработчика в целом есть три основных варианта развития:
- горизонтальный (совершенствоваться как специалист, тем самым постоянно повышая свою стоимость на рынке труда);
- вертикальный (расти по карьерной лестнице);
- диверсификационный (освоение смежных специальностей, превращение в фулстака и переквалификация).
Средняя зарплата специалиста от 80т.р до 100т.р. или больше.
Как стать фронтенд-разработчиком
Тем, кто стартует с нуля, надо начинать с HTML и CSS и освоить их на уровне идеальной верстки PSD-макетов. На этом этапе также надо научиться работать с текстовыми и графическими редакторами и знать основные принципы дизайна (как плюс). Затем взяться за JavaScript: синтаксис, архитектура и возможности языка. Освоить популярные фреймворки и библиотеки, параллельно полюбить системы контроля версий и какой-нибудь из популярных таскраннеров. Добавить препроцессоры и фреймворки CSS, разобраться в серверных технологиях.
Стать фронтенд-разработчиком может каждый. При желании вы без труда отыщите пару десятков онлайн-курсов, предлагающих получить основные знания совершенно бесплатно. В интернете множество статей на тему того, как самостоятельно стать разработчиком. Есть даже наглядные схемы, что и в какой последовательности нужно делать, чтобы пройти путь от полного новичка до профессионала.
Еще одна проблема самообучения – можно приобрести неправильные навыки. Например, самоучка способен написать код, который будет функционировать нормально, но при этом окажется плохим. Как же такое может быть? Да очень просто. Программирование – оно такое, здесь решить задачу можно различными способами. Проблема в том, что разобраться в таком коде сможет только сам самоучка, а для работодателей такой подход неприемлем.