Що має знати Senior Front-end Developer. Результати аналізу вакансій в Україні та Каліфорнії

Неможливо однаково добре знати всі профільні технології. Ще складніше розібратись, які з непрофільних навичок можуть знадобитись. Чи дійсно ви вкладаєте сили в знання, на які є попит на ринку праці?

Щоб дізнатися, чого очікують роботодавці від Senior Front-end Developer, ми проаналізували 274 вакансії: 152 українські вакансії на DOU станом на 26 червня та 122 каліфорнійські на LinkedIn станом на 25 серпня. У Каліфорнії до дослідження серед інших потрапили вакансії Amazon, Apple, Atlassian, Cisco, Coursera, Hewlett Packard Enterprise, JPMorgan Chase, LG Electronics, Netflix, Siemens, Tesla, Visa, Walmart.

Ми брали всі вакансії, актуальні в конкретний день та опубліковані протягом останнього місяця. Ігнорувалися лише рекрутингові агенції. Щоб не бути Капітаном Очевидність, ми не враховували JavaScript, HTML та CSS. Детальніше про методику можна прочитати в попередніх випусках серії.

Битва фреймворків: React попереду

Більшість вакансій як в Україні, так і в Каліфорнії передбачають знання React. У Каліфорнії це навичка номер один з показником 73% згадок. Усі версії Angular та AngularJS разом узяті в обох локаціях мають приблизно 45%.

Але для прихильників Vue.js є хороша новина: фреймворк має стабільну нішу в 15-20% вакансій, що співставно з сукупною кількістю вакансій iOS-розробників. З Vue.js ви не пропадете.

Ember.js згадується майже виключно в Каліфорнії.

Сюрпризом стала вкрай низька частка React Native. Але пояснення є: на сьогоднішній день React Native Developer є окремою спеціалізацією.

Англійська дає плюс $9K на рік

В Україні навичкою номер один є англійська мова з показником 61% згадок. Порівняймо компенсацію JavaScript-розробників залежно від рівня англійської згідно з альтернативним зарплатним віджетом.

  • Elementary & Pre-Intermediate — $3797 на місяць після податків (23 анкети);
  • Intermediate — $3635 (112 анкет);
  • Upper-Intermediate — $3915 (147 анкет);
  • Advanced — $4381 (28 анкет).

Найнижчі доходи мають спеціалісти з рівнем англійської Intermediate. Досягнувши рівня Advanced, можна розраховувати на суттєве підвищення доходу: (4381 — 3635) x 12 = $8952 на рік.

Високі доходи людей з англійською нижче Intermediate можна пояснити тим, що лише дуже крутий програміст може вижити в сучасному IT, погано володіючи мовою комунікації з замовником. Скоріше за все, підтягнувши мову до Advanced, ці люди могли б претендувати навіть не на 4381, а відмовлялися б від оферів на 5K :)

«Буде плюсом»: найперспективніші навички

Якщо якась навичка часто трапляється у розділі «Would be a plus», це говорить про те, що знайти спеціаліста з такими знаннями складно, але саме такий спеціаліст потрібен на проекті. Настільки потрібен, що компанії готові брати на роботу без цих навичок та вкладати гроші в навчання. Вивчення технологій, які найчастіше трапляються в додаткових побажаннях, є ще одним шляхом до підвищення вашої цінності на ринку праці.

Для Senior Front-end Developer найчастіше в додаткових побажаннях в Україні вказують Node.js (16%), AWS (10%), GraphQL (7%), CI/CD (7%), Webpack (6%), React Native (6%), Docker (6%). У Каліфорнії до них додається Java (9%).

Україна vs Каліфорнія: відмінності

Здебільшого статистика вимог є схожою в Україні та Каліфорнії. І там, і там Redux має близько 30%, Webpack — близько 25% тощо. Але є помітні відмінності.

У Каліфорнії кожна друга вакансія вимагає профільного диплому бакалавра. Для Java-розробника цей показник був ще вищим: майже дві третини. На цьому фоні той факт, що 84% вакансій України не згадують освіту навіть як «буде плюсом», демонструє рівень розчарування в наших університетах.

Ще в Каліфорнії чомусь вдвічі більше цінуються комунікативні навички: ~40% проти ~20% в Україні. Agile та Scrum теж згадуються в Каліфорнії вдвічі частіше, ніж в Україні.

Серед технологій в Каліфорнії помітно більше згадок Babel, jQuery, AJAX, Jasmine, Mocha, Chai, Gulp, Grunt. Частіше потрібно знати back-end: Node.js, NPM, Python та Java.

Цікавинки, знайдені у вакансіях

Каліфорнія

Hewlett-Packard Enterprise шукала Senior UI Developer з 15 роками досвіду.

Компанія Netskope готова взяти на роботу Sr Full Stack UI Developer з дипломом бакалавра психології. А чому б ні?

Компанія Sköna в Сан-Франциско пише: «Weʼre dog friendly — bring along your four legged friend!»

Для компанії TravisMathew Apparel важливо, щоб співробітник по мірі необхідності був на зв’язку вечорами та на вихідних.

Україна

В компанії MOJAM (Харків) для співробітника є можливість отримати фінансування та запустити власний проект всередині компанії. А в компанії BCD TripTech (Київ) на власний проект співробітника виділяється один робочий день на місяць.

В Delphi Software (Київ) відкрита вакансія, що передбачає опціони на акції клієнта: австралійського стартапу Vervoe, що працює зі штучним інтелектом.

Працівники компанії SMARTCRAFT (Одеса) можуть взяти week off for parent’s needs в додаток до 4 тижнів відпустки. Робота без овертаймів. А ось в офісах Intellias у Києві та Львові є дитячі кімнати з професійним baby-sitter.

Компанія Shopmonkey Inc (Київ) пропонує компенсацію до 5000. Можливе віддалене співробітництво. Компанія Edgica (Київ) теж пропонує до 5000, відрядження до європейських країн та роботу в демократичній команді без бюрократії.

Для тих, хто любить подорожувати. Компанія X1 Group відправлятиме у регулярні відрядження з Харкова до Берліну. Вакансія компанії Youwe (Київ) передбачає відрядження до Нідерландів. А в компанії Corva.AI (Київ) є можливість відвідати США.

В компанії Xenoss (Харків) не обмежується робота з дому. Натомість компанія Pharos Production Inc (Київ) пропонує крісло, комфортне для спини, та кальян на кухні.

Для продуктової компанії Poster (Дніпро) буде плюсом участь в олімпіадному програмуванні.

Компанія Soft2bet (Київ) пропонує офіційне працевлаштування згідно з Трудовим кодексом України. Буде плюсом досвід з TDD.

Думки технічних експертів

Андрій Кобилін, Senior Front-end Developer в Beetroot

В первую очередь важно уметь писать качественный, легко читаемый и предсказуемый код. Нужно уметь разбивать функциональность на компоненты и комбинировать их в другие, более сложные компоненты. Очень полезно будет освоить функциональное программирование на JavaScript. Оно сейчас в тренде, так как такой код более прогнозируемый и простой в понимании. Рекомендую почитать книгу Composing Software Эрика Эллиотта (Eric Elliott) по этой теме. Также полезно будет почитать про паттерны программирования Learning JavaScript Design Patterns Эдди Османи (Addy Osmani).

Senior Front-end разработчики должны оценивать свой продукт с точки зрения UX/UI. Поэтому также стоить почитать хотя бы базовые книги по UI/UX, чтобы понимать, как сочетать цвета, группировать элементы и т.д. Советую почитать Don’t Make Me Think Стива Крюга (Steve Krug).

Конечно же, как и любые другие Senior разработчики, Senior Front-end девелоперы обязаны вникать в проект, понимать, кто является конечным потребителем, для чего внедряется та или иная фича/возможность и какова ее бизнес-ценность. Для этого нужно ориентироваться в предметной области. Если занимаешься приложением для физиотерапевта, то нужно понимать процесс диагностирования и лечения, а если делаешь программу для продажи ж/д билетов — разбираться в классификации поездов, составлении расписания и маршрутов.

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

В первую очередь важно уметь писать качественный, легко читаемый и предсказуемый код. Нужно уметь разбивать функциональность на компоненты и комбинировать их в другие, более сложные компоненты. Очень полезно будет освоить функциональное программирование на JavaScript. Оно сейчас в тренде, так как такой код более прогнозируемый и простой в понимании. Рекомендую почитать книгу Composing Software Эрика Эллиотта (Eric Elliott) по этой теме. Также полезно будет почитать про паттерны программирования Learning JavaScript Design Patterns Эдди Османи (Addy Osmani).

Senior Front-end разработчики должны оценивать свой продукт с точки зрения UX/UI. Поэтому также стоить почитать хотя бы базовые книги по UI/UX, чтобы понимать, как сочетать цвета, группировать элементы и т.д. Советую почитать Don’t Make Me Think Стива Крюга (Steve Krug).

Конечно же, как и любые другие Senior разработчики, Senior Front-end девелоперы обязаны вникать в проект, понимать, кто является конечным потребителем, для чего внедряется та или иная фича/возможность и какова ее бизнес-ценность. Для этого нужно ориентироваться в предметной области. Если занимаешься приложением для физиотерапевта, то нужно понимать процесс диагностирования и лечения, а если делаешь программу для продажи ж/д билетов — разбираться в классификации поездов, составлении расписания и маршрутов.

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

Alejandro Del Rio, Lead Software Engineer в Symphony Solutions

Хороший Front-end девелопер має:

  • розуміти, як JavaScript виконується, що таке frame stack & call stack;
  • розуміти різницю values types і reference types;
  • знати, що таке functional scope, block scope, lexical scope;
  • розуміння, як працює setTimeout, setInterval, requestAnimationFrame;
  • вміння застосовувати OOP та Design patterns;
  • розуміння і застосування lambda function (map, reduce, etc), Closure, Hoisting, Curring.

Хороший Front-end девелопер має:

  • розуміти, як JavaScript виконується, що таке frame stack & call stack;
  • розуміти різницю values types і reference types;
  • знати, що таке functional scope, block scope, lexical scope;
  • розуміння, як працює setTimeout, setInterval, requestAnimationFrame;
  • вміння застосовувати OOP та Design patterns;
  • розуміння і застосування lambda function (map, reduce, etc), Closure, Hoisting, Curring.

Тетяна Ільченко, Front-end Technical Lead в CodeIT

Для хорошего Front-end разработчика, как правило, не достаточно разбираться только в JS, HTML, CSS и одном из фреймворков (React, Vue.js, Angular etc.).

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

Must have для middle+:

  • Deep knowledge of JavaScript;
  • Algorithms and Data structures;
  • Design patterns;
  • Architecture patterns;
  • Scalable project architecture;
  • Page performance;
  • Security.

Не лишними будет базовое знание back-end (Node.js, PHP, Java etc.). Оно позволит лучше понимать архитектуру всего проекта, а не только его front-end части, облегчит общение с Back-end разработчиками, а также позволит учитывать особенности работы и возможности серверной части.

Немаловажны знания UI/UX — Front-end разработчик всегда тесно работает с дизайнерами и должен уметь увидеть недочеты и/или предложить альтернативный вариант решения.

Знания в области SЕО — помогут в дальнейшем избежать проблем при продвижении сайта.

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

Для хорошего Front-end разработчика, как правило, не достаточно разбираться только в js, html, css и одном из фреймворков (React, Vue.js, Angular etc.).

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

Must have для middle+:

  • Deep knowledge of JavaScript;
  • Algorithms and Data structures;
  • Design patterns;
  • Architecture patterns;
  • Scalable project architecture;
  • Page performance;
  • Security.

Не лишними будет базовое знание back-end (Node.js, PHP, Java etc.). Оно позволит лучше понимать архитектуру всего проекта, а не только его front-end части, облегчит общение с Back-end разработчиками, а также позволит учитывать особенности работы и возможности серверной части.

Немаловажны знания UI/UX -Front-end разработчик всегда тесно работает с дизайнерами и должен уметь увидеть недочеты и/или предложить альтернативный вариант решения.

Знания в области SЕО — помогут в дальнейшем избежать проблем при продвижении сайта.

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

Василь Романчак, Senior Web Developer в MyHeritage

5 років досвіду роботи з технологією Х не робить вас Senior девом. «Сіньйорність» залежить від уваги до деталей, ставлення до роботи, рівня англійської та ваших комунікативних навичок більше, ніж те, як добре ви знаєте React/Angular/Node.

На мою думку, Senior деви повинні хендлити процес розробки самостійно, мати активну позицію (не потрібно казати, що ти не можеш зробити задачу А, бо не маєш тулзи Б), розуміти переваги та недоліки впроваджених рішень (бути дорослим і розуміти наслідки ваших дій). Накінець, думаю, такі чуваки повинні сприймати проект, наче власний бізнес, за який вони заклали будинок у банку.

5 років досвіду роботи з технологією Х не робить вас Senior девом. «Сіньйорність» залежить від уваги до деталей, ставлення до роботи, рівня англійської та ваших комунікативних навичок більше, ніж те, як добре ви знаєте React/Angular/Node.

На мою думку, Senior деви повинні хендлити процес розробки самостійно, мати активну позицію (не потрібно казати, що ти не можеш зробити задачу А, бо не маєш тулзи Б), розуміти переваги та недоліки впроваджених рішень (бути дорослим і розуміти наслідки ваших дій). Накінець, думаю, такі чуваки повинні сприймати проект, наче власний бізнес, за який вони заклали будинок у банку.


Текст і аналітика: Дмитро та Юлія Скороход
Візуалізація даних: Ігор Яновський

Похожие статьи:
Сегодня знанием английского языка работодателя не удивишь. А вот незнанием — не только удивишь, но и расстроишь. Во избежание...
Представляем новую статью серии «Карьера в IT». В этой части цикла рассмотрим позиции HR-менеджера и рекрутера. Иногда...
Ссылки, на которые лучше таки нажать (по мнению автора), отмечены знаком (!) Java Next (!) Вышла JDK 10, и это значит, что ваша...
16 травня стартує набір на безоплатний курс «EmpowerU. Базовий курс тестування та основи IT» для українських ветеранів,...
Формат вебинара: презентация-доклад, разбор резюме, ответы на вопросы Всем давно известно, что правильно...
Яндекс.Метрика