Как стать Fullstack-разработчиком: от junior до senior и выше

Привет всем! На связи Андрей Ивойлов, ведущий разработчик и тимлид в команде платформы «Своды» «БАРС Груп». Сегодня я расскажу о своем профессиональном пути и о том, как пришел в сферу IT.

Fullstack-разработчик – это…

Кто же такой Fullstack-разработчик, что ему нужно уметь и какие задачи стоят перед ним? Fullstack-разработчик - это специалист, который разбирается во всем стеке технологий. Он отвечает и за backend логику приложения (то, что реализуется на сервере), и за frontend (то, что видит пользователь в интерфейсе браузера).

Первые шаги

У меня нет профильного образования, но уже 6 лет я развиваюсь и расту в этой сфере. На собеседовании сразу предупредил, что у меня практически нет опыта (пробовал делать различные игровые серверы для игр), но я был готов работать, работать и еще раз работать. И мне дали шанс. Да, было трудно, нужно было много учиться и разбираться в абсолютно неизвестной для меня профессии, но я четко видел конечную цель.

В первые месяцы меня очень сильно поддерживали мои коллеги: помогали «разгребать» таски и параллельно объясняли основы C#. Но честно признаюсь, что иногда хотелось бросить, не все получалось с первого раза.

Следует отметить, что для разработчиков в нашей компании применяется система грейдов (junior, middle, senior). Повысить свой грейд можно с помощью аттестации, которую я по окончанию испытательного срока (три месяца) успешно провалил, но, к счастью, мне дали еще один месяц на подготовку. Я собрался и был принят в команду. Спустя четыре месяца я мог назвать себя junior-разработчиком: писал backend на C# и SQL (немного), самостоятельно изучал JavaScript, зная, что он пригодится мне в будущем.

Повышение скиллов

После испытательного срока я все так же занимался backend-разработкой на разных проектах, спустя какое-то время стал ответственным разработчиком за один из наших проектов. Постепенно продолжал погружаться в C#, иногда появлялись задачи на frontend. Также был ментором для junior-разработчиков.

Через год был переведен в отдел разработки платформы для сбора отчетности. Задачи стали разнообразнее, и я уже мог себя назвать Fullstack-разработчиком: создание UI, реализация полноценной серверной логики (ASP.NET), плотное взаимодействие с БД (Oracle), десктопное приложение (Windows Forms).

После трех месяцев в новом отделе я в первый раз решил попробовать повысить грейд до middle, к сожалению, теоретических знаний не хватило. Но через полгода мне все-таки удалось успешно сдать аттестацию: продолжал работать над нашей платформой, периодически участвовал в аттестациях других разработчиков.

Спустя три с половиной года я повысил грейд до senior. На тот момент я делал уже более сложные задачи, продумывал архитектуру, погружался в расследование инцидентов производительности, оптимизации, а также участвовал в разработке поддержки еще одной СУБД (PostgreSQL), помогал переводить платформу на .NET Core, переписывал frontend платформы. Через полгода меня назначили руководителем отдела разработки платформы.

Тимлид команды

Если кратко, то в мои обязанности как руководителя входит планирование и координирование работы отдела: распределение задач между специалистами, наблюдение за ходом их выполнения и процессом разработки в целом. Но, конечно, самое главное здесь – умение расставлять приоритеты и слышать свою команду.

Для повышения квалификации я изучал много теории, «копался» в open source проектах, пробовал применять теорию на своих pet-projects. Также необходимо быть вовлеченным в процесс: участвовать в обсуждениях, предлагать идеи, помогать своим коллегам - это большой плюс для разработчика. Hard skills – важны, но и soft skills имеют большое значение (а иногда это ключевой фактор) для карьерного роста.

В работе меня мотивирует возможность постоянно развиваться и, конечно, чем больше у тебя знаний и навыков, тем выше твой заработок. Также очень радует тот факт, что именно ты делаешь жизнь пользователей проще и удобнее.

Советы новичкам

У новичка должно быть понимание, что в этой сфере саморазвитие - один из ключевых факторов. Да, не всегда в работе можно применить все технологии, которые вы изучаете, но, когда наступает момент для их внедрения - вы должны быть готовы. Вам необходимо участвовать в процессе разработки полностью, а не просто писать код.

Для самообразования могу посоветовать несколько ресурсов, которые в свое время мне помогли понять основы C# и Javascript:

Книги

1. C# in Depth. Jon Skeet

2. CLR via C# (Developer Reference) 4th Edition. Jeffrey Richter

3. Паттерны проектирования на платформе .NET. Сергей Тепляков

Сайты

YouTube-каналы

1. https://www.youtube.com/c/DotNextConf (Записи с конференции DotNext)

2. https://www.youtube.com/c/HighLoadChannel (Записи с конференции HighLoad++)

P.S. В следующей статье мы расскажем, как попасть на работу в ИТ-компанию, какие методы применяются при поиске сотрудников, и обязательно ли быть программистом, чтобы работать в этой сфере. Оставайтесь на связи!

0
Комментарии
-3 комментариев
Раскрывать всегда