Fullstack-разработчики — это универсальные специалисты, которые могут закрыть сразу несколько позиций для компании. В нашем материале мы рассказываем, как прийти к этой профессии и чему для этого нужно научиться.
Евгений Киселев, 24 года, город — Бишкек, fullstack-разработчик в Finance Soft, linkedin
Как пришел в профессию
Я со школы знал, что буду работать по технической специальности. Делал упор на физику и математику. Во время Общереспубликанского тестирования получил «золотой сертификат», благодаря которому мог поступить на бюджетную форму обучения в любой вуз Кыргызстана.
Я выбрал направление «Программная инженерия» в Кыргызско-Российском Славянском университете. На втором курсе прошел неоплачиваемую стажировку, а затем начал работу на полставки. Сначала в мои обязанности входило системное администрирование, установка Windows и разных программ. Затем я стал тестировщиком и постепенно пришел к разработке.
Однажды руководство Finance Soft посетило наш университет с предложением пройти у них стажировку. Я откликнулся. И вот уже четыре года работаю в этой компании.
Зачем нужен fullstack-разработчик
Fullstack-специалист — это универсальный разработчик, который может полностью выполнить определенную задачу. Сделать как интерфейс, так и серверную часть. Благодаря этому компания может иметь одного сотрудника, вместо frontend- и backend-разработчиков.
Иногда специфика приложений бывает такой, что frontend- и backend-моменты трудно различимы. Тогда пригодится fullstack-разработчик, который сможет самостоятельно заняться всем.
О работе fullstack-разработчика
Fullstack-разработчики занимаются программированием «фронтовой» части приложения, под которым понимается пользовательский интерфейс, кнопки, таблицы, выпадающие списки, формы авторизации, регистрации и так далее. Кроме того, мы работаем с «бэкендом»: на сервере, с базами данных, создаем интеграции, проводим фильтрацию, сортировку.
Заработная плата fullstack-разработчика выше, чем у узконаправленного специалиста
Современные приложения — это многокомпонентные системы. Чем больше задач разработчик может выполнить самостоятельно, тем лучше. Поэтому fullstack-разработчики востребованы. Они могут работать в любой области — от медицины до логистики.
Заработная плата fullstack-разработчика выше, чем у узконаправленного специалиста. Но это не правило: все зависит от того, как человек умеет продавать свои знания, вести переговоры с руководством и оценивать себя. Поэтому вилка средней зарплаты широкая — от 400$ до 5000$.
Где учиться на fullstack-разработчика
Стать fullstack-разработчиком можно классическим путем: учиться в университете несколько лет, получить диплом и знания, а затем устроиться на работу. Еще можно пройти курсы. Здесь своя специфика: обучение короткое, но узконаправленное — вы получите знания только в той области, где планируете работать. Самый сложный вариант — заняться самообучением. В интернете много ресурсов, но они могут запутать человека. Информация бывает противоречивой, и без минимального опыта легко «утонуть» в море знаний. Поэтому самоучек мало, но такие люди могут гордиться собой.
Советую читать статьи на Medium.com, freeCodeCamp, «Хабре». Можно ввести запрос в Google: «Fullstack-разработчик с нуля» и найти бесплатный курс. Главное — не лениться. Недостаточно просто смотреть обучающие ролики. Обязательно нужно практиковаться. К примеру, взять код, который написал ментор, и попробовать повторить его. Без этих действий результата не будет.
Что должен знать и уметь fullstack-разработчик
Fullstack — это смесь двух направлений. Поэтому необходимо освоить основы frontend и backend. Для первого направления это такие технологии, как HTML, CSS и JavaScript. Далее можно выбрать фреймворк, например, React, Angular или Vue.js. Можно выучить их все, но на это потребуется много времени.
Многие изучают JavaScript, так как этот язык программирования может применяться и в backend-направлении. С его помощью можно создавать сразу две части приложения в качестве fullstack-разработчика. Кроме него, можно изучать Python, Golang, C#, Ruby on Rails, PHP. Также для backend-разработки необходимо познакомиться с базами данных.
Есть мнение, что лучше начинать обучение с frontend-направления. Я считаю, что все зависит от личных предпочтений. Вы не узнаете, что легче, пока не попробуете. Хорошей идеей будет посмотреть обзорные видео и понять, что из себя представляет каждое направление.
После того как вы определились с технологиями, необходимо научиться связывать их. Изучать, как взаимодействуют frontend и backend. Обязательно нужно освоить систему контроля версий. Это необходимо всем разработчикам.
Дальнейшее обучение зависит от компании, в которой вы работаете. В зависимости от ее нужд, изучать придется разные технологии.
Советы начинающим
Самое главное — быть терпеливым. Не стоит ждать быстрых результатов. Чтобы освоить все, потребуется время. Поначалу ваши знания будут отрывочными, но с опытом между ними появятся связи.
Обязательно практикуйтесь. Простой просмотр видеоуроков в таком формате, как мы смотрим сериалы, ничего не даст. Программирование — это ремесло. Специалисту нужны навыки, а любой навык — это действие. Теория тоже нужна, но она лишь дает возможность практиковаться с разными приложениями, языками программирования, технологиями.
Найти работу с самого начала будет сложно. Компаниям невыгодно нанимать сотрудника без опыта. Его придется обучать, хотя всегда есть риск, что тот просто уйдет. Ваша задача — заниматься самообразованием и расти вверх маленькими шагами. Не успеете оглянуться, как построите хорошую карьеру.
Подходите к выбору професии объективно. У каждого человека есть природная расположенность к тому или иному виду деятельности. К примеру, у многократного олимпийского чемпиона, пловца Майкла Фелпса непропорционально длинные и большие стопы. Значит, при равном количестве тренировочных часов он выдаст лучший результат. Так и в программировании. Не факт, что эта профессия для вас. Но пока не попробуешь, не узнаешь.