Full-stack разработчики: те, с кем пребудет сила

Как программисту стать IT-джедаем, а HR нанять такого спеца
5 минут

Если вы откроете любой сайт с вакансиями, наверняка увидите множество объявлений о поиске неких full-stack разработчиков. При этом требования к соискателям будут сильно различаться, но суть всех таких вакансий одна: «за среднюю айтишную зарплату ищем человека, который умеет все или почти все».

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

Давным-давно, в далекой галактике…

… кто-то предположил, что в природе должны существовать IT-мастера космической мощи, которые могут в одиночку пройти все стадии разработки программного продукта.

А именно:

  1. Сбор и анализ требований.
  2. Проектирование.
  3. Разработка дизайна интерфейсов.
  4. Программирование, которое часто разбивается на два больших куска работы — кодинг интерфейсов и программирование серверной части.

Фронт работ немаленький, а для качественной реализации проекта в одиночку с нуля инженер должен обладать уровнем навыков «выше среднего» по каждому из пунктов.

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

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

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

Джедаи — странный предмет: они вроде есть, но вроде их нет

Но если полных фулл-стеков не бывает, кого же могут нанять кадровики на позицию человека-оркестра? На этот случай есть программисты, которые развиваются в профессиональном плане, накопили опыт в разработке и интересуются смежными сферами в айти:

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

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

Да, джедаи существуют. И они готовы спасать нашу вселенную от IT-хаоса!

Node.JS — академия джедаев

Ситуация с количеством и качеством фулл-стек инженеров улучшилась с появлением платформы Node.JS. Сперва «Нода» позволила писать на одном языке различные браузерные интерфейсы. А с появлением React Native, развитием дизайн-систем, material-дизайна и библиотек готовых визуальных компонентов разработчики смогли не только вести полноценную мобильную разработку, но и собирать неплохие интерфейсы на коленке.

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

В итоге шансы найти настоящего крутого фулл-стек джедая, пишущего на Node.JS, выше, чем найти инженера такого же уровня с другим набором языков.

Как самому стать фулл-стек джедаем

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

Как же стать таким джедаем?

  1. Выберите Node.JS в качестве основного языка. Одно это сильно приближает вас к цели.
  2. Освойте разработку серверных приложений на «Ноде». Серверные приложения фокусируются на работе над данными и передаче информации по сети — это намного проще, чем клиентская разработка, где программистам нужно уделять время анимации интерфейсов, верстке и проработке приложения под разные устройства: компьютеры, смартфоны, планшеты.
  3. После того, как вы овладеете тонкостями Node.JS, переходите к разработке браузерных приложений. К этому моменту вы должны быть хорошо знакомы с языком, чтобы уделить больше времени визуальным эффектам и тонкостям работы разных браузеров. Это огромный пласт знаний, который придется засунуть в голову.
  4. Если не захотите оставаться в браузерной разработке, вы можете двинуться дальше и попробовать мобильные приложения на Node.JS. Порог вхождения в эту область выше: тонкости мобильной анимации, обработка свайпов на экране, оптимизация под мобильные платформы — это интересно, но сложно.

Если вы добрались до конца списка — profit! Вы уже настоящий фулл-стек джедай.

IT-джедаи следят за новостями отрасли

Упомянутые области разработки меняются быстро, поэтому удержать их все в голове, скорее всего, не получится. Однако можно параллельно работать в двух областях сразу. Например, бэкенд и браузерные приложения или бэкенд и мобильные приложения.

И, конечно, приготовьтесь к тому, что придется следить за новостями Node.JS и разработки в целом — что-то новое происходит ежедневно, чтобы оставаться на плаву в качестве крутого фулл-стека, нужно узнавать свежие апдейты буквально каждый день.

Пишите, читайте, не останавливайтесь на достигнутом и учитесь управлять великой силой Node.JS — таков путь настоящего фулл-стек джедая.

Group 40Group 44Group 43Group 46Group 41Group 27Group 42Group 39