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

О портале Каталог профессий

Поиск по порталу

Фронтенд-веб-разработчик

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

Мы обратились к представителям компаний с вопросами, чтобы выяснить, с какими знаниями и навыками специалистов они хотят видеть на этой позиции

1. Какими знаниями и навыками должен обладать фронтенд-разработчик?

2. Каков инструментарий фронтенд-разработчика?

3. Каковы требования компании к уровню образования потенциальных сотрудников?

4. Какие требования предъявляются к опыту работы?

5. Есть ли особые требования, которые обусловлены спецификой деятельности компании?


Алексей Южаков, руководитель разработчиков команды Plesk в Parallels (ранее – ведущий фронтенд-разработчик в Parallels)

1. В первую очередь фронтенд-разработчик должен обладать хорошими знаниями JavaScript (речь именно о веб-разработке).

Из опыта собеседований: многие кандидаты отвечают, что знают JavaScript, но при проверке выясняется, что лишь самые-самые основы. А вопросы из раздела «ООП в JavaScript» вводят их в ступор.

Действительно, хороший и опытный фронтенд-разработчик должен уметь читать и понимать код таких фреймворков, как jQuery или AngularJS. Нужно не только номинально знать конструкции языка, но и быть знакомым с различными API, которые предоставляют браузеры. Конечно, нужно быть знакомым и с HTML и CSS (и последними веяниями в стандартах).

2. В плане редактирования кода для меня лично подходит: PhpStorm/WebStorm/RubyMine, реже vim.

Использование IDE связано с тем, что у нас нет «чистых» фронтенд-разработчиков, которые пишут только JavaScript, плюс проекты довольно большие. IDE от JetBrains нравятся своим удобством и скоростью работы.

В плане отладки – в основном используется Chrome DevTools (у ресурса codeschool.com есть хороший видеокурс, как можно выжать максимум из этого отличного инструмента).

Кроме того, Chrome стал ведущим браузером в плане популярности, он удобен не только для конечных пользователей, но и для разработчиков.

3. Требования такие же, как и для любого другого разработчика. Опыт обычно важнее образования. Но наличие профильного образования – это всегда плюс. Если человека выгнали из вуза, а за последние два года он сменил шесть мест работы, то это повод задуматься.

С другой стороны, к сожалению, как бы ни были талантливы вчерашние студенты, но если во время учебы они не нарабатывали опыт, то начать сразу плодотворно трудиться мало реально. Многие компании просто не могут себе позволить ждать, пока человек раскачается и наберется опыта.

4. Опыт работы должен быть. Индустрия фронтенд-разработки довольно молодая, поэтому фразы в резюме «10 лет фронтенд-разработки» скорее настораживают, чем радуют.

Также крайне желательно, чтобы опыт был актуальным. То есть если на JavaScript человек писал последний раз шесть лет назад, а сейчас пишет в основном на C#, то скорее всего у кандидата будут заметные пробелы в знаниях.

Еще всегда интересует доказательство опыта. Программист, который зарабатывает тем, что пишет код, должен иметь возможность показать какие-то свои наработки. Идеально – это участие в каком-то открытом проекте и, например, ссылка на профиль на GitHub.

Но даже если человек работал только в закрытых проектах, но действительно активно писал код, он всегда найдет, что показать.

В этом отношении для фронтенд-разработчика все даже немного проще, ведь нередко свой JavaScript-код можно показать и не нарушить при этом NDA (соглашение о неразглашении).

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

Другое дело, когда нужно развивать уже существующую инфраструктуру какого-нибудь проекта с более чем 10-летней историей (такого, как, например, Parallels Plesk Panel). Здесь сложнее быстро вводить новые фреймворки или менять одни на другие, так как при этом возникает необходимость переписывания большого количества кода. В этом случае на первый план выходят умение читать и понимать чужой код, аккуратно его исправлять.

Алексей Вохмин, ведущий программист «НТЦ ИТ РОСА»

1. Фронтенд-веб-разработчик должен хорошо ориентироваться во всем многообразии JavaScript-фрейворков (в частности, AngularJS и Backbone), разбираться в CSS и, разумеется, понимать и использовать современные паттерны построения сложных браузерных приложений.

2. Требований к инструментарию мы не предъявляем. В нашем представлении фронтенд-веб-разработчик – это уже не junior-, а middle/senior-разработчик, который сам способен подобрать наиболее подходящий для себя инструментарий.

3. Традиционно мы («НТЦ ИТ РОСА») обращаем внимание на людей с техническим образованием, и высшее образование будет большим плюсом.

4. Потенциальный кандидат должен иметь опыт в разработке сложных графических интерфейсов; большой плюс – участие в Open Source-проектах и опыт коммуникации с распределенной командой разработчиков.

5. Пожалуй, основными специфическими требованиями являются самоорганизация, коммуникабельность и ответственность – они обусловлены распределенностью команды разработчиков «НТЦ ИТ РОСА», занимающихся веб-проектами.


Кирилл Ширяев, руководитель отдела подбора персонала «Лаборатории Касперского»

1. Необходимые знания и навыки для приема на позицию фронтенд-веб-разработчик:

  • Знание стандартов w3c.
  • Актуальные знания HTML5/CSS3 (transition/animation, flex-box, canvas, etc.).
  • Опыт разработки одностраничных приложений.
  • Навыки применения css feature detection/modernizr.
  • Опыт работы с LESS/SASS.
  • Представление о БЭМ (блок-элемент-модификатор).
  • Умение писать понятный поддерживаемый код с комментариями.
  • Знание особенностей различных браузеров.
  • Умение определять сроки решения задач самостоятельно.

Дополнительные навыки по направлениям:

  • HTML-верстальщик (веб-технолог):
  • опыт верстки под ретину;
  • опыт верстки под мобильные;
  • опыт адаптивной верстки.
  • JavaScript-разработчик:
  • знание native JS;
  • опыт работы с AJAX и JSON;
  • опыт создания собственных плагинов/директив;
  • опыт работы с Grunt, Node.js (или другими инструментами автоматизации);
  • опыт разработки с помощью одного из JavaScript-фреймворков (Angular.js, Backbone.js, Knockout.js)

2. WebStorm, Sublime text, Adobe Photoshop, Xara Designer Pro, Браузеры: Firefox, Internet Explorer, Chrome, Opera, Safari; VMware Workstation, Visual Studio.

3. Обязательно требование: высшее техническое образование.

4. Опыт работы: для junior/middle – от года, для senior – от трех лет.

5. Для работы в нашей команде соискателю необходим следующий опыт:

  • опыт разработки highload-приложений;
  • опыт работы с системами контроля версий;
  • знание принципов эргономики интерфейсов и юзабилити.

Желателен опыт работы с .NET.


Леонид Хачатуров, ведущий фронтенд-разработчик, компания JetBrains

1. Фронтенд-разработка является, наверное, самой бурно развивающейся областью в мире software development. Новые инструменты и фреймворки появляются и выходят из моды со скоростью, вызывающей ухмылку у респектабельных Java-разработчиков. Поэтому в первую очередь фронтенд-разработчик должен отлично владеть базовыми технологиями – HTML, CSS и JavaScript, а также постоянно учиться новому, чтобы не стать «программистом на jQuery» или «программистом на AngularJS».

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

2. Основные инструменты – IDE или текстовый редактор, система контроля версий, issue tracker, сервер continuous integration. Большие проекты задействуют множество сторонних зависимостей, для управления которыми используются NPM и Bower. Для сборки мы применяем Grunt, Gulp и Webpack; тестируем с помощью Karma.

3. У нас нет особых требований к уровню образования – опыт важнее. Но мы очень ценим людей, знакомых с основами computer science (что облегчает взаимодействие с backend-разработчиками) и в то же время интересующихся дизайнерскими дисциплинами и умеющих делать красивые, удобные в использовании вещи.

4. Для младшего разработчика это владение вышеупомянутыми базовыми технологиями и парочка выполненных веб-проектов, старший разработчик должен иметь три – пять лет опыта, желательно в разработке крупных приложений или сайтов с высокой нагрузкой.

5. Приличный английский язык – большая часть внутренней переписки ведется на английском. Кроме того, фронтенд-разработчик делает видимую часть программы, и поэтому очень хорошо, если он может писать экранные тексты, не обращаясь за помощью к техническому писателю. Да и в других смежных областях, таких как дизайн и юзабилити, высокая степень самостоятельности будет большим плюсом.


Алексей Кирсанов, ведущий разработчик компании «1С-Битрикс»

1. Очевидно, что кандидат должен хорошо разбираться в особенностях платформы, на которой происходит разработка. В нашем случае – в платформе «1С-Битрикс». Ему необходимо разбираться в основных технологиях, применяющихся в фронтенд-разработке: языках программирования (JavaScript), языках разметки (HTML) и стилях (CSS), а также знать нюансы возможностей различных браузеров.

Дополнительным плюсом будут знания фреймворков, например, jQuery. Помимо вышеописанного, кандидат должен иметь хорошее понимание backend-разработки – так как фронтенд без backend-а смысла не имеет, и надо представлять, как это работает вместе.

2. Специалист в этой области должен хорошо владеть графическими редакторами (PhotoShop), текстовыми редакторами, а также знать инструментарий разработчика для основных браузеров (Google Chrome, Opera, Mozilla, Яндекс.Браузер, Safari и др.). Желательно также знание какого-нибудь IDE (Integrated Development Environment), например, PhpStorm.

3. Образование, как и опыт работы, принципиального значения не имеет. Если человек умеет, то не важно, какое у него образование. А опыта специалисты нашей области набираются всю жизнь.

5.Очень важно уметь понять проблему, поставить задачу и решить ее. Так как у нас тиражный продукт, он должен одинаково хорошо работать на различных платформах. Поэтому требуется глубокое понимание особенностей этого продукта.

Кроме того, для наших специалистов, которые занимаются разработкой платформы и нестандартных решений под нее, нужны продвинутые знания JavaScript.


Кирил Сухов, старший разработчик «Деньги Онлайн» (агрегатор платежных систем)

1. Фронтенд-разработчик? JavaScript? jQuery? Неплохо, но в первую очередь DOM. И, естественно, все API, которые признаны W3C. Все их знать наизусть не нужно, но надо четко осознавать, где (и как) их брать. Это главное. И HTML5 тут не важен – очередное API для человека, способного в принципе осваивать API, не проблема.

В том, что уже много лет называют Ajax – есть нюанс. Очень хорошо, если соискатель сделает асинхронный JavaScript-запрос на север, не пользуясь Prototype, jQuery, Motools etc. Правда, я уже лет пять таких не встречал. Можно поменять вопрос на схематичное описание процесса. «Фишка» тут не в знании синтаксиса, а в понимании того, что происходит «под капотом».

JavaScript … Все веб-разработчики считают, что знают JavaScript, но почему-то такие вещи, как замыкания, для многих неизвестны, а прототипирование... Ну, вы понимаете, о чем я? И EcmaScript5.

Идем дальше – CSS. Понятно, что надо знать CSS2, CSS3 и их отличия. А также Sass, LESS, Stylus – не надо ничего знать досконально, просто понимать, как это работает. И зачем. И Bootstrap – просто знать, как пользоваться.

На этом все, но по технологиям. Хотя для освоения осовремененных JavaScript-фреймворков нужно понимание разных концепций вроде Dependency injection. Но это же не является спецификой фронтенд?

2. Инструментарии? Я надеюсь, тут не подразумевается конкретная IDE? Я не помню, чтобы у человека были бы проблемы из-за того, что он не имеет опыта работы с IDE NeatBeans, например. А вот такие инструменты, как Anglular.js, Backbone.js, действительно требуют изучения. Обязательно умение пользоваться системами контроля версий. Крайне желательно – Selenium (SeleniumIDE) и средствами Unit-тестирования (Jasmine и т.п.). Ну и Grunt/Gulp. А писать можно и в Kate.

3. Никаких. Нет, но при прочих равных, высшее техническое, да еще и по специальности – это плюс.

4. Тут сложно. Конечно, этот пункт едва ли не самый важный, но современная фронтенд-разработка – довольно молодая отрасль, искать разработчика с опытом в ней в пять – семь лет глупо.

5. Понимание юзабилити.


Подготовил Игорь Штомпель

Специальные партнёры портала

Партнёры