Я занимаюсь менторством. Могу на основе некоторого опыта подсказать, как изнутри работает какой-либо процесс: разработка, найм, вот это всё.

Одни из наиболее популярных вопросов от подшефных звучат примерно так:

  • Как вкатиться?
  • Как эффективно изучать новые технологии?
  • Как догонять их развитие?

За этим всем я вижу, прежде всего, неадекватно низкую самооценку начинающих специалистов на фоне некоторой сакральности имиджа IT-индустрии.

Важно понимать несколько вещей.

Вокруг такие же люди

Не существует людей, которые бы “знали” всю айтишечку полностью.

Есть эксперты в определенных областях, которые, тем не менее, могут иметь пробелы в соседних.

Кстати, есть и просто красиво заливающие нарциссы. 🌷

Нормально состояние сколько-то опытного специалиста хорошо описывается понятием T-shaped - есть наибольшая экспертность в одной области, и менее продвинутые знания в остальном.

Например, я – DevOps-инженер.

С силу специфика задач, я неплохо разбираюсь в облачной инфраструктуре, разработке, архитектуре, но лишь поверхностно в тестировании, мобильных технологиях, 3d, нейронках.

Плюс, сами технологии не стоят на месте. Так что, заходя в индустрию сегодня, человек не слишком-то отстаёт от тех, кто работает в ней, скажем, уже 15 лет.

Это может показаться спорным, но посмотрим объективно:

И “новичкам”, и “старичкам”, надо практически с нуля погружаться в новые решения - machine learning, какие-нибудь новые сервисы, модный тулинг вокруг no-code, языки программирования типа Rust, набравшие популярность сравнительно недавно.

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

Один достаточно опытный коллега лет 5 назад воевал в ту сторону, что Docker это очень вредная технология т.к. на хосте появляется процесс Docker Engine, якобы представляющий собой единую точку отказа.

То, что у нас уже есть PID 1 в лице systemd, почему-то не учитывалось. 🐳

Работать надо!

Я бы сказал, нет никакого сакрального рецепта, как изучать технологии.

Не надо быть каким-то очень опытным специалистом, чтобы браться за Kubernetes.

Просто надо брать – и изучать.

Сначала посмотреть какие-то лекции/документацию, а далее применять технологию в каком-нибудь проекте - рабочем или личном.

Например, я так учился разработке: работая linux-админом, постоянно писал себе чат-ботов, какие-то API, автоматизации.

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

Большинство этих проектов никуда не пришло, да.

Но я получил необходимую базу и перекатился из админа в devops-инженера, и стал заниматься тем, что нравится.

Подытожим

Я бы свел совету junior-у к следующему:

  • Не надо пытаться смотреть на себя через призму статуса, “достаточно ли я догнал технологии?”, статус придёт сам со временем.

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

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