Марія БровінськаРабота
23 февраля 2023, 11:11
2023-02-23
Кто такой FullStack Developer: обзор профессии от Станислава Высоцкого
У Станислава Высоцкого есть 9 лет коммерческого опыта в сфере IT, 5 лет из которых работает в компании SPD-Ukraine как FullStack Developer.
«Я начал интересоваться разработкой web-приложений еще из старших классов школы. Тогда не было такого распределения как frontend или backend, поэтому я сразу учил направление FullStack и начал создавать сайты. Уже более углубленно начал учить веб-разработку в университете и писал собственные pet-проекты и получал опыт разработки в backend, PHP, frontend, JavaScript, HTML и с фреймворками», — рассказывает он.
У Станислава Высоцкого есть 9 лет коммерческого опыта в сфере IT, 5 лет из которых работает в компании SPD-Ukraine как FullStack Developer.
«Я начал интересоваться разработкой web-приложений еще из старших классов школы. Тогда не было такого распределения как frontend или backend, поэтому я сразу учил направление FullStack и начал создавать сайты. Уже более углубленно начал учить веб-разработку в университете и писал собственные pet-проекты и получал опыт разработки в backend, PHP, frontend, JavaScript, HTML и с фреймворками», — рассказывает он.
Профессионально разработкой парень стал заниматься в 2014 году, начинал как разработчик backend на PHP. Но в 2016 году я перешел на «другую сторону зла» и начал заниматься направлением frontend. «И уже в 2018 году я пришел в SPD-Ukraine как frontend разработчик. Затем SPD начала работу над большим проектом, на котором заказчик искал в команду JavaScript специалиста, с того момента начался мой путь FullStack Developer с JavaScript-стеком», — говорит айтишник.
Ниже — обзор профессии FullStack Developer.
Роль FullStack в проекте
FullStack Developer — это разработчик, который может самостоятельно сделать фичу на проекте. Например, у клиента есть запрос сделать список пользователей. В обычном проекте есть разделенные роли, то есть backend-разработчик, который сделает backend-часть, которая поможет получить юзеров из базы, и есть специалист, который напишет frontend-часть, то есть сделает интерфейс для проекта, чтобы список выглядел хорошо и был понятен для клиента и пользователя на каждом этапе. И, соответственно, FullStack-разработчик — это специалист «широкого профиля», он имеет глубокую экспертизу как в frontend, так и в backend, поэтому может самостоятельно сделать обе части, и именно он несет ответственность перед командой за полную реализацию фичи.
Что нужно узнать и уметь
По своему опыту скажу, что лучше сначала учиться одному направлению, а потом другому. Это будет гораздо эффективнее, чем сразу погружаться с головой в FullStack.
Если вы начинаете с frontend, то вам нужно понимать как работает браузер и JavaScript, а также ориентироваться в базовых фреймворках и в тех, которые сейчас актуальны. Но, если говорить о FullStack — то в этом направлении нужно знать все. Надо досконально разбираться в frontend-направлении, а еще параллельно быть в теме backend и Node.JS (если речь идет о JS стеке) и логике работы с базами данных.
В идеале, можно переходить в FullStack, когда уже есть 2–3 года опыта и глубокие знания в одном из направлений, будь то frontend или backend.
Существуют различные базы FullStack, Java вместе с frontend, и есть те, где все на JS. Чтобы стать FullStack JS, кроме уверенного владения JavaScript, нужно знание и фреймворки. Я советую начинать с Express, на старте его будет достаточно, а дальше уже можно переходить на что-нибудь посложнее, например фреймворк Nest.
По frontend части важно знать базу и как она взаимодействует с серверной частью. Начните с HTML (теги, основы работы браузера), затем перейдите к CSS и адаптивной версте. Следующим этапом будет изучение языка, я бы советовал выбрать JavaScript, ведь этот язык является одним из самых популярных и актуальных до сих пор. Когда вы разобрались с JS, переходите к фреймворкам и библиотекам. Я рекомендую познакомиться с фреймворком React, он очень легок и удобен для начала вашего перехода.
Если говорить о backend-части, как и в случае с frontend, чтобы разбираться, нужно изучить основы работы интернета. К примеру, как работают протоколы HTTP/HTTPS, браузер, DNS, а также доменные имена и хостинги. Затем займитесь операционными системами. Читайте об управлении процессами, потоками и параллелизмом, базовыми командами терминала и основными концепциями сети. Одним из важнейших этапов вашего обучения будет знакомство с базами данных и логики работы с ними.
Все зависит от того, какой у вас careerpass, есть ли опыт в каком-либо из направлений и, конечно, есть желание такого перехода.
Начните спрашивать совета у коллег по направлению, куда вы планируете двигаться и подтягивать скиллы. Параллельно учите теорию и отрабатывайте на практике, а для этого не стесняйтесь просить у менеджера давать вам задачи с FullStack, чтобы этот процесс был плавным и менее стрессовым для вас и команды. Такой опыт имели мои коллеги, и он был успешен. Так что с подобным свитчем у компании у вас не должно быть проблем.
Для начала этого плана вам будет предостаточно. Советую делать все постепенно, но качественно, не гонитесь за результатами — начните с чего-нибудь маленького, и уже потом набирайте обороты.
Список книг, которые помогут вам на пути к FullStack
Node Cookbook, 4th Edition — Bethany Griggs
Full-Stack React Projects: Learn Mern Stack Development — Shama Hoque
Modern Full-Stack Development: Using Type Script, React, Node.js — Frank Zammetti
Full Stack Web Development: Round One — Begin! Edwin Ross Torres
Hands-On Full Stack Web Development with Angular 6 and Laravel 5 — Fernando Monteiro
Требования к FullStack
Уже несколько лет, а я уверен, что и в 2023 это также будет актуальным, к требованиям добавляют еще знания по направлению DevOps. То есть, разработчику кроме своего поля знаний еще нужно понимать, как все работает на продакшне: как запустить backend, знать что такое CICD, как отдать статические данные клиенту в frontend и как завести в докере backend. В нашем проекте, есть команда DevOps, которая нам с этим помогает, но все равно нужно ориентироваться в этих процессах, ведь в случае каких-то проблем при разработке знание нюансов DevOps сохранит время и силы.
Плюсы и минусы профессии
Большое преимущество и одновременно недостаток быть FullStack разработчиком — это то, что ты сам контролируешь реализацию веб-фичи. То есть когда делаешь только backend-часть, то это как в той шутке: «на backend все работает, это проблема на frontend». А вот когда ты FullStack, полностью занимаешься реализацией двух частей и отвечаешь за все. И только ты можешь «накосить» в реализации.
Также нужно всегда успевать учить, что нового есть в двух направлениях параллельно. Ведь если ты будешь использовать устаревшие инструменты, то лучше этого никому не будет.
Направление FullStack идеально подходит тем, кто любит контролировать выпуск функциональности на проекте. Некоторым людям такое не нравится, а больше по душе реализация UI/UX, чтобы все было pixel perfect. А другим — наоборот, нравится backend, им интересно сделать так, чтобы с архитектурной точки зрения все было сделано правильно, чтобы быстро отдавались результаты, чтобы все четко работало на стороне и беку, и со стороны IP. Так вот, крутой FullStack разработчик — это тот, кому нравится и первое, и второе.
Куда дальше
Если вы уже Senior FullStack, или Expert, или даже Principal FullStack Developer, то затем идет более высокая позиция — Solution Architect. Это эксперт высшего звена, который видит будущий проект полностью до мелких деталей: как будет сделан бэкенд, как он будет работать с базой данных и фреймворками. У него есть четкое понимание, как построить решения и как именно они будут работать, и как сделать проект лучше в функциональном плане.
Профессии в IT. Кто такие тимлиды, что они должны знать и как их оценивать?
Большинство молодых айтишников с первых дней работы мечтают вырасти до сеньора и стать тимлидом, менторить джунов и помогать команде решать сложные задачи. Однако какими именно компетенциями должен обладать тимлид, что уметь и где учиться — вопрос для многих открыт. Чтобы прояснить эту ситуацию, мы пообщались с Solutions Architect в компании DataArt Дмитрием Куперманом, уже много лет занимающимся асесментом тимлидов в компании: проводит интервью и оценивает подготовку и опыт коллег и кандидатов.
«Менеджмент не заканчивается на словах Agile или Kanban"». Кто такой Project Manager и как им стать
Желающих войти в IT с каждым днем становится больше. Однако большинство потенциальных айтишников оказываются перед сложным выбором: кем стать, чтобы работать в сфере информационных технологий. dev.ua начинает новую рубрику, в которой будет рассказывать, какие специальности в украинском IT есть, что делают конкретные специалисты и где учиться, чтобы стать айтишником.
Сегодня о профессии Project Manager рассказывает опытный PM в EPAM Яна Стильчук,