Fullstack-разработчик — универсальный солдат, который может самостоятельно реализовать проект «под ключ», охватив и backend, и frontend.
Вместе с fullstack-разработчиком и сотрудником образовательного центра SkillFactory Олегом Ледвановым отвечаем на главные вопросы о профессии и разбираемся, благодаря чему fullstack’и могут работать удаленно и всегда получать много заказов.
[spacing size=”20″]
Что делает fullstack-разработчик?
Fullstack-разработчик выполняет веб-разработку полного цикла. Обычно он создает веб-приложения, в которых занимается сразу всем: проектирует архитектуру, разрабатывает frontend- (то, как сайт или приложение видят пользователи) и backend-части (все, что помогает сайту или приложению работать), привязывает проект к базе данных, обновляет его и занимается системным администрированием.
[spacing size=”15″]
Где он нужен?
Fullstack-разработчики востребованы во всех сферах бизнеса. В крупных компаниях они часто занимаются небольшими продуктами, например для внутренней оптимизации. Но могут и руководить командой программистов, так как понимают особенности разных типов разработки. Много fullstack-разработчиков работают на фрилансе, потому что могут решить главную задачу малого бизнеса – быстро разработать сайт с минимальными затратами.
[spacing size=”15″]
Пример задачи
Если fullstack-разработчику нужно создать интернет-магазин, то он:
- создаст архитектуру и ядро сайта;
- разработает функционал — обновление товаров, возможность покупки, создание личного кабинета и т.д.;
- напишет код;
- сделает так, чтобы макет от дизайнера стал страницей в интернете, все кнопки работали, а ссылки были кликабельными;
- протестирует работу сайта и опубликует его;
- будет контролировать обновление баз данных и обновлять разделы, если понадобится.
[spacing size=”15″]
Что ему нужно знать?
Такой разработчик должен знать один или несколько языков программирования. Для frontend-разработки используют JavaScript и фреймворки (готовые «каркасы» программы, на основе которых можно разрабатывать продукт) React, Angular или VueJS. Для backend-разработки — Python с фреймворками Django, Flask или Sanic, JavaScript с фреймворками Express или Fastify, PHP и фреймворк Laravel.
Помимо этого, нужно знать язык SQL, язык разметки CSS, системы контейнеризации Docker и Git, основы системного администрирования. Важно владеть английским языком, поскольку документация обычно написана на нем.
[spacing size=”15″]
Как выглядит его рабочий день?
В течение рабочего дня fullstack-разработчики пишут код, общаются с командой или обсуждают технические задания с заказчиками. Помимо этого, fullstack-разработчик должен быть в курсе последних новостей в своих областях, поэтому ему нужно участвовать в конференциях (например DevConf или BackendConf) и читать полезные ресурсы (например CodeProject или Stack Overflow).
[spacing size=”15″]
Как строят карьеру fullstack-разработчики?
Традиционное деление на джуниор-, мидл- и синьор-разработчиков нечасто встречается среди fullstack-разработчиков. Обычно их делят на простых разработчиков и экспертов.
Олег Ледванов:
«Новички обычно осваивают один стек и пытаются применить его везде, то есть молотком не только забивают гвозди, но и закручивают шурупы. Профессионал выберет тот стек, который необходим для конкретной задачи. Он может создать полностью поддерживаемое задокументированное веб-приложение с нуля и пользоваться разными фреймворками. Он знает, как сделать код читаемым, гибким и оптимизированным под конкретный проект».
Такому специалисту легко вырасти в тимлида или архитектора, так как он разбирается в большом спектре технологий и способен руководить узкими специалистами.
[spacing size=”15″]
[spacing size=”20″]
Какие нужны софт-скиллы?
- Умение быстро воспринимать новую информацию и обучаться: новые инструменты появляются как в frontend-, так и в backend-разработке, и, чтобы не отстать, нужно быть в курсе трендов.
- Дальновидность — от решений fullstack-разработчика зависит, как будет работать весь продукт.
- Коммуникативные навыки — слышать заказчика, задавать вопросы и обосновывать свои решения.
[spacing size=”15″]
Насколько это востребовано?
Согласно сервису «Яндекс.Подбор слов», люди ищут информацию по запросу «fullstack» каждые 7 минут. Каждый месяц на сайте hh.ru можно увидеть около 1,5 тыс. вакансий fullstack-разработчика.
Сколько получает fullstack-разработчик?
Зарплата зависит от компании и навыков программиста. В среднем начинающие разработчики в Москве получают от 60 тыс. руб. в месяц, продвинутые профессионалы — до 300 тыс. руб. в месяц. На сайте hh.ru можно найти вакансии с зарплатой более 400 тыс. руб. в месяц.
[spacing size=”15″]
Плюсы профессии
- Востребованность: fullstack-программист может заменить трех-четырех специалистов. Это позволяет клиентам сэкономить, а разработчику — регулярно получать заказы.
- Возможность всестороннего развития. Всегда можно выбрать и переключиться на более узкую специальность, так как есть понимание разных сфер разработки.
- Проще найти удаленную работу, так как один специалист может закрыть все задачи и поддерживать сайт, и заказчик будет обращаться по всем вопросам к нему, а не координировать целую команду.
[spacing size=”15″]
Минусы профессии
- Трудно углубиться в одну сферу: загрузка большая и, если начать глубоко копать один аспект, качество продукта может снизиться.
- В компании может возникнуть иллюзия, что fullstack-разработчик может все. Тогда коллеги начнут передавать ему задачи, которыми должны заниматься другие специалисты.
[spacing size=”15″]
В каких случаях становятся fullstack-разработчиками?
- Когда «стало тесно» в своей профессии, хочется перейти в более интересное направление или начать работать на фрилансе.
- Когда кажется, что для своей специальности мало перспектив — fullstack достаточно востребован.
- Когда есть идея своего проекта — fullstack-разработчик может сам реализовать его с нуля.
- Когда хочется освоить много навыков сразу, разобраться в основах программирования и затем сосредоточиться на самом интересном направлении.
[spacing size=”15″]
Как начать?
Можно самостоятельно изучать видео, книги (например «Изучаем Python» Марка Лутца), сайты. Важно погрузиться в контекст, ходить на конференции и вебинары, приобретать первый опыт. А можно выбрать курсы с готовой программой обучения и поддержкой менторов. Начать учиться можно в любом возрасте и независимо от того, какой у вас бэкграунд.
[spacing size=”20″]