10+ навыков Junior-разработчика: мнение наших экспертов

На какие технологии «джуниору» в первую очередь нужно делать упор? Какие качества развивать, чтобы успешно вписаться в коллектив? Что ожидает от начинающего сотрудника работодатель? Сегодня на эти вопросы отвечают наши технические специалисты.

Виктор Буров, Руководитель отдела разработки

Чаще всего университет дает набор инструментария для постройки всего и вся, НО вот как строить «ракеты, бороздящие просторы вселенной» умалчивает. Соответственно, после высшего учебного заведения джуниор-разработчик считает, что знание определенного набора инструментов даст ему «лавры» гуру в IT. Это не так. Отличное знание молотка, его веса, формы, как им орудовать, никак не дает понимания, что такое «коттедж» и как его построить. И в момент, когда такого джуниора просят построить коттедж, он начинает строить «баню», используя молоток везде, где можно и нельзя.

Итак, musthave hard skills:
  • Понимание архитектуры приложений (например что такое монолит, или «трехзвенка»).

Как бы странно ни звучало, но на практике 90% выпускников высших учебных заведений не знают, как строится программное обеспечение.

  • Что такое ООП, основные принципы
  • Понимание реляционных баз данных

Уточню, НЕ знание SQL, а понимание реляционных баз данных, что/зачем/почему и т.д.

  • Алгоритмы и структуры данных

Вот этот пункт для большинства новичков самый непонятный, с той точки зрения «а зачем». Если в голове ты не можешь представить примерный алгоритм построения той или иной функциональности, это грустно… можешь получить тонны других знаний, но без алгоритмики путь в «матерые прогеры» тебе закрыт…

Musthave soft skills:

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

Итак, подведем итоги.

Hard skills: сначала изучай «базу», а не инструментарий. «База» — это фундамент; стены и крыша поедут, если нет хорошего фундамента.

Soft skills: социализируйся, бери больше ответственных задач, и воздастся все по заслугам 🙂

Дмитрий Лагутин, Руководитель направления

Я думаю, что из soft skills для Junior-разработчика самое главное — не бояться задавать вопросы. Но это должны быть не бесконечные вопросы, а обдуманные и подготовленные заранее. Очень приятно видеть, когда человек потратил какое-то время на проблему, ОСОЗНАЛ, что она ему пока не под силу, и, чтобы не затягивать ее решение, обратился к старшему товарищу. Мы всегда это поддерживаем.

В свете последних событий, связанных с массовым переходом на удаленную работу, soft skills становятся очень важны: большинство команд распределенные, а члены команды часто находятся не в одном городе или даже не в одной стране. Тут на первое место выходит коммуникация. Приходится много созваниваться, переписываться, обсуждать, решать… И отсутствие способности к общению в подобном формате, даже для продвинутых разработчиков, может стать препятствием к их дальнейшему росту. То есть, основной навык — коммуникативность. Конечно, стоит упомянуть про логическое мышление, знание английского языка. 

С hard skills чуть сложнее, ведь все зависит от направления, в котором специалист хочет работать и развиваться. Конечно же, приветствуются «базовые» технологии: базовое знание хотя бы одного языка программирования, принципов работы реляционных БД и ООП, умение написать SQL-запрос.  Однако в моей команде были и джуниоры, которые приходили работать без знания каких-либо основ программирования, но зато с желанием погрузиться в эту сферу. В итоге они достаточно быстро выросли в хороших разработчиков.

Екатерина Кошкарова, старший технический специалист

“Джуниора”, который только-только покинул студенческую скамью, все равно придется адаптировать к рабочим процессам компании, доучивать, а иногда и переучивать. Здорово, если “джун” придет с такими навыками:

  • базовое знание хотя бы одного языка программирования
  • общее представление работы реляционной СУБД, в идеале — способность написать простой SQL-запрос. Было бы здорово услышать от кандидата названия самых популярных СУБД
  • знание основ веб-разработки
  • владение ОС Linux… хотя бы на уровне не очень продвинутого пользователя
  • важно отметить обладание навыками поиска информации. Да-да, гуглить тоже надо уметь 🙂
  • знание английского языка, хотя бы на уровне чтения технической документации
  • упорство, способность не сдаваться, когда что-то не получается
  • желание развиваться в выбранном направлении
  • дружелюбие и готовность получать помощь

Само собой, этот список может корректироваться в зависимости от компании, отдела, задач, да и от самого кандидата на позицию junior-разработчика.