От стажера до начальника центра: с чего начать карьеру разработчиком и чему уделить внимание в первую очередь

От стажера до начальника центра: с чего начать карьеру разработчиком и чему уделить внимание в первую очередь

Nexign Students

Своим опытом поделится Илья Потапов, начальник центра разработки Nexign. В 2018 году Илья начал свою карьеру в качестве стажера и успел поработать разработчиком, тестировщиком и DevOps-инженером. Затем стал техлидом и тимлидом, а сейчас руководит центром разработки.


Из каких специалистов состоит команда разработки?

Классическая команда разработки включает в себя аналитиков, разработчиков и тестировщиков. Специалисты DevOps иногда оказывают помощь и поддерживают процессы. Во главе команды находятся тимлид и владелец продукта. 


Универсальный набор навыков, необходимый разработчику

Язык программирования — это база, однако для разработки крупных проектов нужны еще скилы и инструменты. Например: 

  • Базы данных. Практически ни один крупный проект не обходится без БД, ведь именно там хранится вся информация, с которой работает ваше приложение.
  • API, например, REST и gRPC — это те механизмы и интерфейсы, через которые сервисы обмениваются быстрыми, синхронными сообщениями.
  • Брокеры сообщений, например, Kafka и RabbitMQ — это то, что позволяет выстраивать асинхронное взаимодействие между сервисами, эффективно распределять нагрузку и обеспечивать связь сервисов «многие ко многим».
  • Метрики и мониторинг. Когда ты работаешь с большой распределенной промышленной системой, очень важно иметь возможность оперативно отслеживать ее состояние (нагрузку, количество ошибок, загрузку памяти и т. д.) и в случае проблем отследить, с чего все началось и где нужно вмешиваться.
  • Linux и системы виртуализации. Большая часть промышленного ПО эксплуатируется под ОС на базе ядра linux, а это значит, что инженеры должны уметь зайти на машину, настроить и запустить написанное ими приложение. А когда появятся проблемы, уметь их решить. То же самое актуально для docker и k8s.

Соответственно, начинающему разработчику нужно знать не только базовые конструкции языка, но и понимать, что окружает этот язык и как его применять.


Помимо хард скилов, работа в команде требует наличия определенных софт скилов. Умение эффективно взаимодействовать с коллегами и нести ответственность за свою часть работы — навыки, которые точно помогут успешно достигать поставленных задач.

А еще разрабочику полезно развивать:

  • ответственность;
  • проактивность;
  • умение оценивать и планировать свои задачи;
  • умение слышать других и доносить свое мнение до окружающих;
  • критическое мышление.


А если нет реального опыта программирования, то с чего начать?

«Просто придумай себе задачу, которая будет полезна для тебя, и начни писать код. Например, расписание поездов или калькулятор своих расходов.

Продумай, какими объектами будет оперировать твое приложение, добавь API для этих объектов, а потом положи их в базу данных. Если у тебя есть навыки в разработке веб- или мобильных приложений, сделай интерфейс для своего приложения. Так оно станет в разы дружелюбнее.

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

Еще одна рекомендация: не бойся пробовать себя в конкурсах, олимпиадах и хакатонах. Это тоже даст тебе практический опыт», — отвечает Илья.

 

Таким образом, карьера в разработке — это не только знание языков программирования, но и умение демонстрировать свои навыки на практике. Начни с малого, создавай собственные проекты, и у тебя всё обязательно получится! 😎


Report Page