В вакансиях веб-разработчиков встречается позиция «Фуллстек-разработчик» (он же fullstack). Они неплохо зарабатывают, очень ценятся на рынке труда, но есть нюансы с навыками и трудоустройством. В тексте посмотрим, что это за работа, какие плюсы и минусы.
Кто такой фулстек-разработчик
Фулстек — это русская версия английского full stack, человек, который может использовать весь стек технологий веб-разработки.
Стек — это набор языков программирования, фреймворков, стандартов, баз данных и подходов к реализации. Например, стек фронтенд-разработчика может быть таким:
А стек бэкенд-разработчика в этом же проекте может выглядеть так:
- PHP
- Laravel
- MySQL или MongoDB
- Ruby
- Python
Фулстек умеет и то и другое — и поднять базу, и настроить сервер, и красиво заверстать страницу. Получается, что фулстек — это такой универсальный солдат в веб-разработке, который, в теории, может в одиночку сделать сам весь проект.
Но это в теории. А на практике всё немного иначе.
Плюсы и минусы
✅ Главный плюс фулстека — его универсальность. Он может взять практически любую задачу в проекте и разобраться в любой проблеме.
✅ Фулстек видит проект целиком и может заранее понять, где какую технологию нужно применить. Например, фулстек видит, что на фронте будет много вычислений на стороне пользователя, что замедлит работу веб-приложения. В этом случае он может сказать, что лучше бы вынести часть вычислений на сервер — это ускорит загрузку страницы и сделает работу приложения более комфортной.
❌ Главный минус — он знает все эти технологии на уровне плюс-минус мидла, но не выше. Его знаний и навыков хватает, чтобы решить задачу, но он не сможет это сделать так же круто и легко, как, например, сеньор. Это связано с тем, что у фулстека просто не хватает времени на то, чтобы глубоко изучить какую-то область. Ему нужно разбираться сразу во всём, а если он будет всё время уделять только одной библиотеке или языку, то это будет в ущерб остальному.
Какие бывают фулстеки
Может показаться, что фулстек может написать что угодно на любом языке программирования, но на самом деле это не так. У фулстеков, как и любых других разработчиков, есть своя специализация, и она чаще всего зависит от бэкенда.
Например, если программист хорошо знает Python, то, скорее всего, его основной бэкенд-стек будет выглядеть так:
- Django
- Nginx или Apache
- Linux
- REST API
А если вместо Python разработчик специализируется на C#, то стек может быть таким:
- .NET
- T-SQL
- Microsoft Azure
- ASP.NET
Получается, что фулстек фулстеку рознь и не получится взять в Java-проект фулстека, который специализируется на Node.js и веб-сокетах.
Что по деньгам
Средняя зарплата фулстек-разработчика в России в первом полугодии 2022-го — 159 000 рублей в месяц:
При этом самые популярные в этом году навыки у фулстека — это JavaScript, React, PHP и C#:
Как стать фулстеком
Самый простой способ стать фулстеком — выбрать себе направление, в котором хочется развиваться, а потом в одиночку выпустить полноценный проект. Это может быть что угодно, что требует одновременно и фронтенда, и бэкенда, например, сервис онлайн-заказов или веб-приложение для облачного хранилища текстовых файлов.
Ещё вариант — прийти в Практикум и пройти курсы веб-разработчика и программирования на питоне. В результате вы научитесь и делать сайты, и программировать серверную часть — то, что нужно для начала фулстек-карьеры.