Чумба, а помнишь, как мы
рассказывали о фронтенде и бэкенде в формате натива на канале школы TeachMeSkills? Если не смотрел, обязательно напеки булок, налей чая, и приобщись — будет весело. Сегодня копнем тему поглубже, и раскроем все подробности о работе фулстек-разработчика.
Небольшое пояснение — забугорный термин FullStack в мире айти применяется только к вебу. Ты, конечно, можешь сказать, что умеешь делать приложения для Android и iOS разом, но самой позиции «фулстек-мобильный-девелопер» на порталах вроде Glassdoor не будет. Факт появления такого определения продиктован рынком — ему нужны люди, которые могут и сервер написать, и UI наверстать, и рыбку скушать.
Фулстек-разработка — что это такое
Веб-разработка чем-то напоминает вселенную мультфильма «Аватар», только народа здесь два, но они тоже когда-то жили в мире. В смысле, что лет 20 назад специалисты не делились на бэкендеров и фронтендеров. Были просто «веб-разработчики», которых со временем начали классифицировать на экспертов по клиентским и серверным частям, в угоду ведению крупных проектов.
Фулстек-девелопер — реинкарнация многорукого индуистского бога Шивы, умеющий писать сайты и приложения «под ключ», аки заядлый мастер по ремонту. В числе его основных инструментов — JavaScript и TypeScript от фронта, а также языки вроде Java, Python, PHP и C# от бэка. Разработчик должен владеть и популярными фреймворками/библиотеками — а-ля Angular, React и Vue.js.
Чем занимаются фулстек-разработчики
Представим, что тебе нужно написать простенький сайт — для местечкового магазина, где обувью торгует финалист турнира «Кожаный мяч» Геннадий Букин. К делу стоит подключить сразу нескольких специалистов — от дизайнера, готового нарисовать мокапы, до бизнес-аналитика, способного провести исследования. Необходимо пригласить в команду и нескольких разработчиков — собственно, фронтов и бэков.
Денег у Гены Букина не так уж и много, и поэтому он хочет сэкономить. Геннадий нанимает спеца, закрывающего две позиции разом, пусть и в угоду возможности масштабировать будущий портал. Таким экспертом становится девелопер — он создает и «сервер» (ту часть программы, которая думает и запоминает все, что накликал пользователь), и «клиент» (внешнюю оболочку с менюшками, кнопками и картинками).