Що має знати 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-розробник

Похожие статьи:
Наш ресурс — наша зброя. Ми, цивільні люди, маємо зберігати адекватний психічний стан, щоб допомагати собі і тим, хто цього потребує....
Нові версії TensorFlow 1.0 Rust 1.15 Go 1.8 TypeScript 2.2 SQLite 3.17.0 Інтерв’ю IT-ринок України виділяється на тлі Індії, Мексики, Бразилії і Східної...
Андрей Ткаченко увлекся программированием еще в военном училище, но 25 лет посвятил службе в армии. По ее окончании, в 42 года,...
17 вересня Верховна Рада підтримала у першому читанні оновлену версію законопроєкту про підвищення податків. Йдеться про...
Цього року День вишиванки українці відзначали 16 травня. DOU традиційно зібрав фотоогляд айтівців у вишиванках, дехто...
Яндекс.Метрика