Могут ли fullstack-разработчики спасти рынок труда от дефицита IT-кадров?
Насколько хороша универсальность специалистов в разработке программных продуктов?
Наш опыт показывает, что программист никогда не бывает на 100% универсалом. Чаще всего все fullstack-разработчики на 70% знают бэкэнд и на 30% - фронтэнд.
Изначально были просто разработчики и просто верстальщики. А некоторую часть задач можно было “скинуть” на пользователей. Потом появился JavaScript-программисты, которые стали делать сложные вёрстки.
И компании начали разделять front- и backend разработку.
- Fullstack-разработчики чаще всего работают на проектах, где frontend лёгкий, сайт несложный, легко обновляется, а сам продукт внутренний. Есть фреймворки, не нужны люди, которые будут делать только frontend. Тогда fullstack-программист - то, что нужно.
- Но если говорить о сложных проектах, например, биржах, где много панелей, вносятся частые изменения, невозможно работать качественно без отдельных front- и backend разработки.
Технические собеседования и на специалиста уровня Senior, и уровня Junior на 70% не качаются инструментов (что на фронте, что на бэкэнде). И всегда говорят о специализации в виде опыта.
Потому что большое количество времени разработчик тратит на работу с документацией. В программировании не бывает готовых решений, есть подходящие или нет. Потому они могут подходить под один инструмент или нет. тоже касается и fullstack-программистов. В одном проекте - это идеальный вариант, но во многих случаях сам продукт компании требует разделения разработки на front и back части.
В IT-отрасли не бывает хороших во всём специалистов. Frontend - это интерфейсы, оптимизация под разные браузеры и скрипты. Backend - работа с базами данных, сложными алгоритмами.
И человек может знать поверхностно множество разных инструментов, но специализироваться разработчик может только на чём-то одном.
Для примера, не существует даже Java-разработчика, который знает все инструменты от корки до корки. У него такое количество документации, изменений, когда выходит каждое обновление, что знать всё даже в одной области просто невозможно.
Хорошо ли когда в разработке участвуют универсальные специалисты, ведь они лучше узких специалистов?
Такой программист снимает проблему взаимодействия между frontend и bacjend-разработкой. Так как многие изменения, доработки касаются обеих частей проекта. Но, опять же, это работает лишь в том случае, если сам проект не трудоёмкий, и одному человеку под силу решить обе задачи.
Чаще всего проекты делаются на множестве языков (потому и требования в вакансиях размыты - если соискатель знает хотя бы 30% из ожидаемого, его берут, так как уже с этим он будет загружен работой). А следовательно, такие большие проекты невозможно вести одному человеку и целесообразнее делить его на отдельные части.
На какой уровень зарплаты может рассчитывать fullstack-разработчики?
Фулстек-разработчик стоит по-разному и многое зависит от его специализации - php, java и т.д.
Чаще всего не зарплата у такого специалиста становится преимуществом, а большее количество вакансий. У специализированных, редких специалистов зарплата больше. Чем шире специализация, тем ниже зарплата. Отчасти это связано с тем, что работодатель понимает, за что он платит, когда разработчик делает что-то одно.
При найме разработчика на fullstack важно оценивать его с точки зрения опыта. И по каждому проекту отдельно уточнять, что именно он делал в нём.
В IT-индустрии каждая технология постоянно меняется, а кроме этого появляются новые. И если программист перестаёт развиваться в каком-либо направлении, он теряет свою ценность на рынке труда. А когда ты отвечаешь за несколько разных направлений работы одновременно, соответствовать требованиям времени ещё сложнее.