0
Обложка: Как войти в Fullstack-разработку без магии и упований на удачу

Как войти в Fullstack-разработку без магии и упований на удачу

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

Олег Лучанский
Олег Лучанский
Эксперт-разработчик Группы «Иннотех»

Вообще, о фулстек-разработчиках стали говорить в конце 2000-х годов. Сначала термин появился в блогах, а затем уже легендарное для IT-отрасли издание O’Reilly попыталось объяснить всем, что же значит fullstack. Но до сих пор точного определения нет. Все сошлись на том, что это специалист, который владеет несколькими ЯП, способен разобраться с DevOps и умеет прототипировать системы.

О начале карьерного пути

Программирую уже более 10 лет. Начинал в школе с С++. Потом был JavaScript, но больше про фронтенд-разработку. Дальнейшее изучение языка помогло понять, что на нём можно писать и бэкенд, а после освоил мобильную разработку. Эксперименты с JS научили делать полноценные приложения.

После университета устроился на первую работу, где требовался бэкенд-разработчик. Мы писали на Node.js. Со временем появилась потребность во фронтенде. Я был единственным разработчиком, поэтому пришлось изучать подходящий инструмент для новой задачи. Выбирал из React и Angular, в итоге остановился на первом фреймворке.

Сейчас я работаю в Группе «Иннотех», разрабатываю продукты для старшего поколения: бабушек и дедушек, пап и мам. Например, делаю админки для сотрудников банка, которые помогают оформлять пенсии как в отделении, так и онлайн-банке.

Мой техстек: React, React Native, Apollo GraphQL, Node.js. Он позволяет программить и на мобилках, и на фронте, и на бэкенде.

Градация в фулстек-разработке

Я делю программистов по ответственности, а не по умениям. Джун — тот, за кем нужно следить. Ему нужно очень активно помогать, обучать, наставлять, а также контролировать его работу.

За мидлом уже можно не следить. Он способен самостоятельно научиться каким-то вещам. Обычно — это те, кто годик — два поработал в отрасли.

Сеньор сам следит за новичками. Он ответственный и инициативный, занимается обучением, придумывает и вводит улучшения в кодовую базу. Стать сеньором можно за 2-3 года. Но иногда получается и быстрее — зависит от характера, умений и навыков из прошлого. Кто-то и за год может стать крутым специалистом.

Вход в fullstack-разработку для новичка

Сегодня новичками вкатиться в IT очень трудно — компании ожидают хотя бы минимального опыта работы на реальных проектах.

Всем новичкам, которые решили начать путь с JS, советую заглянуть на «Современный учебник JavaScript». Он бесплатный и с задачками на самопроверку. Я сам с него начинал путь к fullstack.

Рекомендую на первых порах уделить внимание pet-проектам на GitHub. Например, я начинал практику JavaScript с создания простеньких сайтов, затем перешёл к разработке игр, и в конечном счёте для игры написал сервер. Первый работодатель позвал меня на собеседование, увидев профиль на GitHub. На поиск работы у меня ушло тогда больше года, поэтому не стоит питать иллюзий, что это просто — войти в IT. Дополнительно рекомендую перед собеседованием порешать задачки с LeetCode, Codewars, CodeCombat или Kaggle.

О React

React — это как молоток: он хорошо забивает гвозди, но применять его для всех историй не самая хорошая идея. Фреймворк безуспешно пробовали применять для VR-технологий, но дело не пошло. Хотя знаю ребят, которые делают на нём игры. Я бы выбрал для этой задачи C# или Unity. Но «Реакт» позволяет легко делать другие достаточно сложные вещи: ui/ux, интерфейсы.

У React есть сильный конкурент — Vue.js. У этого фреймворка порог входа ниже. И в целом инструмент выглядит очень симпатично. Если React уйдёт с рынка, то можно будет переключиться на Vue.js.

О перспективах no-code

Уже вижу, как появляется профессия ноукод-разработчика. Возможно,через 5–10 лет React-программисты станут ноукодерами.

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

Задача может звучать просто: «сделать чат с пользователем». Но на деле будет сложная логика — нужно рассматривать много вариантов поведения пользователя, показать ошибку, когда чат не загрузился или сообщение не дошло. И вот этих ответвлений будет очень много.