Що має знати Senior Node.js Developer і які червоні прапорці виникають на співбесіді

Це 13-й випуск проєкту «Що має знати Senior», і нарешті ми дійшли до Node.js. За даними DOU, кількість вакансій для фахівців з Node.js поступово зростає. В серпні для них було 187 пропозицій — це найвищий показник за останні два роки.

Тож я проаналізував 24 вакансії Senior Node.js Developer, відкритих в Україні та опублікованих на DOU, Djinni, LinkedIn та Indeed. Крім того, я звернувся до експертів і попросив розповісти про відмінності в наборі технічних навичок для Middle та Senior в Node.js, а також про те, що може стати червоним прапорцем на співбесіді Senior Node.js Developer. Поділ технологій на групи є умовним.

Вакансії, що потрапили в дослідження: (розгорнути)

DOU — Accellabs, Artkai, Avenga, Enjoy Gaming Ukraine, Delphi Software, Geniusee, Intellias, Lacero, LineUp, Nestlogic, Newxel, N-iX, SoftHouseGroup, Solidgate, TechMagic, Vayyar

Djinni — Adaptiq, Gemicle, GetProspect, Sloboda studio, Top Tier Authentics, Volindo

LinkedIn — EPAM

Indeed — Glorium Technologies, Proffiz

Досвід роботи бекенд-розробником

Не стало сюрпризом, що більшість вакансій вимагають від п’яти років досвіду. Ця тенденція повторюється від спеціалізації до спеціалізації. Я помітив, що не завжди у вакансіях очікують, щоб весь досвід був здобутий саме в Node.js. Головне, щоб це була бекенд-розробка.

Освіта

Вимоги до освіти є плюс-мінус стабільними для різних бекенд-спеціалізацій. Так, ще 2020 року вимога мати ступінь бакалавра для Senior Python Back-end Developer була у 16% вакансій. Для Node.js ця цифра становить 24%.

Комп’ютерні науки

Про теоретичні знання комп’ютерних наук у вакансіях згадують радше як виняток. Найімовірніше, причина в тому, що такі знання очікують від Senior за замовчуванням.

Мови програмування

Як зазначив Богдан Рутило, Project Manager в Intellias: «TypeScript вже де-факто став стандартом під час використання Node.js, а отже є невіддільною ознакою розробника рівня Senior».

Профільні технології

Nest виявився найбільш популярним фреймворком серед роботодавців.

Мережеві технології

Зверніть увагу на інтерес роботодавців до GraphQL.

Технології персистентності

PostgreSQL — must-have, але знання максимальної кількості технологій персистентності стане вашою перевагою.

Message brokers

Хмарні технології

AWS потрапила до трьох головних навичок для Senior Node.js Developer разом з TypeScript та англійською.

Контейнеризація

Знання Docker може бути вашою перевагою, адже як плюс роботодавці найчастіше зазначають Docker і AWS.

Front-end

Оскільки в дослідження я брав суто вакансії Senior Node.js Developer, а не Senior Full Stack Developer, Front-end як вимогу у вакансіях вказують нечасто. Senior Node.js Developer може існувати і без знання фронтенду.

Тестування

DevOps

Continuous Integration and Continuous Delivery у топі вимог для Senior Node.js Developer.

ML & AI

Багато вакансій передбачають роботу на проєктах, пов’язаних з ШІ. Утім ніхто не вимагає від Node.js-розробників бути експертами в штучному інтелекті.

Інше

І від спеціалізації до спеціалізації роботодавці приділяють багато уваги вмінню спілкуватися та працювати в команді.

Рівень англійської

Вимога знати англійську є в 60% вакансій.

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

Accellabs пропонує винагороду до $8000 на місяць. Розробляють рішення, засновані на ШІ.

Adaptiq пропонує до $7000. Проєкт з використанням ШІ у сфері відновлювальної енергетики.

LineUp готова запропонувати Senior-розробнику з 5-річним досвідом в Node.js та англійською Upper-Intermediate максимум $3600.

N-iX шукає розробника для ШІ-стартапу, який працює над SaaS-рішенням для бізнесу.

Найвищі вимоги до досвіду має компанія Proffiz: 7 років.

Delphi Software шукає розробника для клієнта, що отримав понад 100 мільйонів доларів фінансування.

Gemicle шукає досвідченого розробника суто у Вінниці через гібридний формат роботи. Знайомство з ШІ буде плюсом.

GetProspect готова розглянути Node.js-розробника без знання англійської, а за замовчуванням вакансія вимагає рівень Pre-Intermediate, що теж небагато.

«Червоним прапорцем на співбесіді можуть стати прогалини в базовій теорії програмування»

Богдан Рутило, Senior JavaScript Engineer (NodeJS) / Project Manager в Intellias

Головним для будь-якого Senior Node.js розробника є глибоке розуміння JavaScript. Від примітивних типів до прототипної моделі, менеджменту памʼяті і, звісно ж, event loop. І вже на міцній базі js можна виділити специфічні навички з Node.js:

  • Розуміння архітектури Node.js, її компонентів, особливостей event loop та V8. Наприклад, Middle-розробникам часто бракує знань, щоб знайти проблему в продуктивності певного коду, здебільшого через те, що немає розуміння, як цей код виконується «під капотом». Що делегується на ОС, що блокує потік тощо.
  • Multiprocessing. Наприклад, робота з worker thread тощо. Часто на реальних проєктах використовують інфраструктурний підхід на відміну від того, що дає сам Node.js, але це не повинно викреслювати таку навичку для Senior-рівня.
  • Senior має знати, як працювати з більшістю стандартних Node.js-модулів, HTTP, events, stream тощо, вільно орієнтуватися в документації.
  • Senior-розробник зазвичай має досвід хоча б з 2+ Node.js-фреймворками. Зазвичай це Express + (Nest/Fastify/Hapi/інше).
  • Окрім прямо повʼязаних навичок з Node.js, варто зазначити, що в нинішніх реаліях Senior добре володіє щонайменше 1 БД, має досвід з розподіленими системами, а ще орієнтується в методах комунікації та меседж-брокерах.

Senior добре знає, як структурно ефективно побудувати проєкт і проконфігурувати все найнеобхідніше, щоб сфокусуватися на розробці саме бізнес-логіки. Тут мова про логування та моніторинг, той же TypeScript, CI.

Тестування та покриття коду тестами є важливою ознакою рівня розробника. Написати код — це одне, а написати його так, щоб його можна було зручно та швидко покрити тестами, — це інше. Extensibility, Maintainability, Readability and Code Formatting, Clarity, Well-documented, Well-tested, Efficient — це все ознаки коду, створеного справді Senior-розробником. Такий фахівець вміє створювати якісну технічну документацію.

Червоним прапорцем на співбесіді Senior Node.js Developer можуть стати суттєві прогалини в базовій теорії програмування і знаннях JavaScript. На мою думку, це відіграє навіть більшу роль, ніж прогалини в знанні самого Node.js. Також часто трапляється, що розробник подається на Senior-вакансію, маючи лише досвід роботи з Node.js на рівні Express: підняв сервер, додав контролер — відтепер я Node.js-розробник

Похожие статьи:
Ранее в сети уже появлялись слухи о том, что китайский производитель смартфонов Xiaomi планирует выйти и на рынок ноутбуков. Теперь стало...
231-й выпуск подкаста «Откровенно про IT карьеризм». В подкасте пойдет речь о подкастинге, науке...
The gig economy has been celebrated in many ways, claiming to offer freedom to workers everywhere. However, there is a darker side to the gig economy which mustn’t be...
Oftentimes consumers seek out more affordable rates for their car insurance, home insurance, life insurance, and more. Here are some common questions, “Where is the best...
Image via Shutterstock.Говоря про HR в компании, каждый представляет себе что-то свое: отдел кадров...
Яндекс.Метрика