Вакансия: разработчик Node.js::Журнал СА 7-8.2018
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Книжная полка  

Защиты много не бывает

Среди книжных новинок издательства «БХВ» есть несколько изданий, посвященных методам социальной инженерии

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

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

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6456
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7150
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4430
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3095
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3893
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3910
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6397
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3242
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3540
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7379
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10735
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12454
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14122
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9205
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7151
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5457
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4691
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3506
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3218
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3457
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3101
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Вакансия: разработчик Node.js

Архив номеров / 2018 / Выпуск №7-8 (188-189) / Вакансия: разработчик Node.js

Рубрика: Карьера/Образование /  Рынок труда

Вакансия: разработчик Node.js

Большую популярность во фронтенде (Frontend) и бэкенде (Backend) приобрели технологии, основанные на JavaScript. Одна из них – программная платформа, основанная на движке V8, которая называется Node.js. Она позволяет создавать и настольные оконные приложения (например, с помощью Electron). Среди примеров – Microsoft Visual Studio Code, Atom. Обеспечивают реализацию и поддержку решений на данной платформе специализированные разработчики. Мыобратились к экспертам и представителям различных компаний, чтобы выяснить, каких кандидатов они видят на позиции разработчик Node.js

  1. Какими знаниями и навыками должен обладать разработчик Node.js?
  2. Каков инструментарий разработчик Node.js?
  3. Каковы требования компании к уровню образования потенциальных сотрудников?
  4. Какие требования предъявляются к опыту работы?
  5. Есть ли особые требования, которые обусловлены спецификой деятельности компании?

Всеволод РодионовВсеволод Родионов, ведущий разработчик, стартап

1. Стандартный встречный вопрос: а что нужно делать при помощи Node.js?

Вариантов бесконечно много. Я знаю людей, которые пишут под raspberry pi. Есть многие исследователи данных, которые пользуются JS как одним из основных инструментов как анализа, так и визуализации, даже блокчейн-технологии отлично взаимодействуют с Node.js. Почти все фронтенд-разработчики используют node для сборки проектов.

Единственная явная специфика Node.js – это его асинхронность, почти что встроенная в сам язык: решать задачи оркестрации на нем гораздо проще и удобнее, чем писать высокооптимизированный низкоуровневый код. Стандартные алгоритмы и структуры данных стоит брать уже готовыми из популярных библиотек, потому что код в них уже оптимизирован для компиляторов, которые порой делают весьма неожиданные оптимизации.

Из этого можно сделать очевидный вывод, который я наблюдал много раз: хорошим разработчиком на Node.js можно назвать человека с пусть даже поверхностным, но очень широким кругозором – от такого человека ожидаешь, что он сходу может вспомнить алгоритм, библиотеку, придумать комбинацию из технологий, которая примерно решает поставленную проблему.

Второй, хотя и менее очевидный, вывод идет оттуда же: поскольку Node.js почти всегда решает задачу оркестрации – в случае с стандартным веб-сервером, например, это оркестрация запросов к redis, sql/mongo, pub-sub-службам, почтовым сервисам, – стоит изучить, как строятся децентрализованные отказоустойчивые системы, хотя бы азы.

2. В отличие от привязанных к платформам языков в Node.js царит вкусовщина. Любая ОС отлично подходит (спасибо Microsoft за Windows Linux Subsystem), из редакторов и IDE – есть платные WebStorm/IDEA, условно-платный Sublime, бесплатные VS Code, Atom и продукты на его основе, и, конечно, можно вспомнить vim. Даже пакетный менеджер можно выбрать на свой вкус – стандартный npm или yarn от Facebook, причем сами модули одинаково доступны и там, итам, отличаются developer experience и мелочи, связанные с Git, продакшн-режимом и дополнительными возможностями. npm, например, умеет делать базовый аудит безопасности, а yarn - экономить место на диске, что полезно для docker-образов. Стоит попробовать и понять, что нравится.

3. У меня самого диплом инженера-судоводителя, так что сказать «в айти без диплома по computer science не попасть» было бы явной ложью.

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

4. Год или два опыта – это уже хорошо. Я шестой год занимаюсь веб-разработкой (и фронтендом, и бэкендом), и последний раз, когда я слышал «у вас мало опыта» был через полтора года после начала карьеры.

Если говорить про себя, то я готов доверить задачи человеку с горящими глазами и с опытом только личных «игрушечных» проектов – при условии, что я проверю результат, конечно. Но критические части, которые могут все сломать, если сделать неправильно – таких 10-20%, не больше, – я себе-то доверяю просто потому, что больше некому. Более того, я знаю компании, где таких ребят с горящими глазами и без опыта прямо-таки хватают и тащат к себе.

5. У нас высокие нагрузки, распределенная инфраструктура и high availability, и пара весьма специфичных технологий. Если бы искали еще и знание всего этого, вряд ли вообще кого-то могли найти, поэтому специфических требований нет, всему приходится учить по ходу дела.


Дмитрий КасьяновДмитрий Касьянов, Node.js Developer в компании Aventica

1. Прежде всего необходимо знать на достаточном уровне сам язык JavaScript и его особенности. Так что для front-end-разработчиков начать писать под Node.js не составит проблем. Но лично я перешел на Node.js из мира Java.

Необходимо иметь представление о том, что такое Event Loop, событийно-ориентированное и асинхронное программирование. В противном случае для начинающих Node.js-разработчиков будет очень много магии. С появлением ES6 стало проще писать в ООП-стиле, поэтому знание объектно-ориентированного программирования также приветствуется.

Вообще сейчас не составит проблем изучить Node.js и JavaScript – очень много статей им посвящено, например на Medium и Habrahabr. Было бы желание.

2. Если говорить о средах разработки, то я бы выделил три основных: Atom, Visual Studio Code и WebStorm. Они широко распространены среди JavaScript-разработчиков. Atom и VS Code – это текстовые редакторы с большим количеством плагинов на любой вкус и цвет, WebStorm – полноценная IDE. Я пользовался сначала WebStorm, потом перешел на VS Code. Atom даже не пробовал.

В плане библиотек – стандартные библиотеки JavaScript и Node.js довольно хороши и продолжают развиваться. Для всего остального есть NPM – менеджер пакетов для JavaScript. Если вдруг оказалось, что возможностей стандартной библиотеки не хватает, нужно поискать в NPM – наверняка люди уже столкнулись с вашей проблемой и разработали решение. Работа с БД, очередями, построение REST API, тестирование – для всего этого есть множество пакетов.

3. Не заметил ничего специфичного. Могут спокойно брать как самоучек, так и с непрофильным образованием. Главное – быстро учиться, не бояться задавать вопросы коллегам.

4. Также, все зависит от компании. Очень мало готовы брать Junior-разработчиков. Но если и готовы, то как минимум нужно иметь начальные навыки программирования, понимание ООП, знакомство с СУБД.

5. И снова: все зависит от того, насколько требования специфичны. Но, в любом случае, все можно свести к тому, что человек должен понимать предметную область и знать, какие модули npm для нее существуют (раз уж мы говорим оNode.js).


Юрий БушевЮрий Бушев, Senior Node.js Developer в Zatea ApS и Zedly inc

1. В чисто техническом плане я бы поставил на первое место безукоризненное знание JavaScript. Причем, учитывая то обстоятельство, что JS очень сильно меняется на протяжении последних лет, важно понимание как нового инструментария языка, так и базовых принципов, заложенных в него с самого начала.

Следующим и одним из основных навыков, которые требуются кандидатам, является опыт интеграции с NPM-модулями абсолютно разных предназначений. Тот факт, что программисты Node.js имеют в свободном доступе огромную кладезь «готовых к употреблению» программных продуктов, написанных сторонними разработчиками, делает умение быстрого понимания API-документации и привычных способов интеграции с такими продуктами неотъемлемым признаком хорошего Node.js-специалиста.

2. Прежде всего это продукт от ребят из JetBrains. Лично я полюбил IDE IntelliJ IDEA, ввиду превосходной интеграции как с JS, так и с другими языками (пишем не только на JS). В ней также имеются удобство запуска и просмотра результата юнит-тестов, превосходный дебаггер и интеграция с Git.

Помимо IDE:

  • в процессе тестирования и отладки API мы используем Postman;
  • для написания регулярных выражений – сайт regex101.com;
  • для просмотра базы данных – Robo 3T или MongoLime (при работе с мобильного устройства).

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

4. Все зависит от позиции. Так, для Junior-разработчиков их необходимым опытом будет знание основ платформы Node.js, понимание работы событийного цикла, за счет чего появляется асинхронность и в чем ее отличие отмногопоточности. Для Senior-разработчика это, несомненно, опыт использования самых популярных решений (из NPM) для построения микросервисной архитектуры, распределения нагрузки, логирования и мониторинга.

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


Без фотоВладимир Громыко, front-end-developer, компания «РТЛабс»

1. Необходимы знания таких технологий, как HTML5, CSS3, JavaScript, понимание того, как работает Node.js (события и т.д.), а также знание хотя бы одного фреймворка, например Express.js или Koa.js.

Необходимо понимать асинхронное программирование (Event-driven-программирование). Также нужны:

  • отличное знание серверных шаблонизаторов, например Pug;
  • опыт работы с препроцессорами (Sass, Stylus);
  • знания в аутентификации пользователей и авторизации между несколькими системами, серверами и средами;
  • знание как минимум одной базы данных (NoSQL, SQL).

Кроме того, паттерны проектирования Node.js, тестирование, Git, практический опыт работы с инструментами разработки Node.js, такими как npm, webpack, grunt, gulp, brunch, broccoli.

Также желательно знание одного или нескольких клиентских фреймворков, таких как angular, react, vue.

2. Иструментарий:

  • npm – менеджер пакетов;
  • gulp, webpack – как сборщики;
  • WebStorm – как вариант мощной IDE;
  • JSDoc – документирование кода;
  • Jasmine Mocha – тестирование;
  • Chrome Dev Tools – отладка;
  • Git;
  • JSLint – проверка кода.

3. Высшее образование, и, как правило, не важно, техническое оно или нет.

4. От трех лет.


Владимир ФедоровВладимир Федоров, глава компании Webcraft.customs

1. JavaScript, желательно хотя бы поверхностное знание Front-еnd-технологий (Vue, React). Администрирование, работа с базами данных.

2. В нашей компании распространены WebStorm и консоль разработчика.

3. Только профильное высшее техническое образование.

4. Никаких. Достаточно желания и высшего технического образования.

5. Да, это желание работать.


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


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru