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

Вступление

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

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

Получите ценный опыт

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

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

  1. Делать ошибки.
  2. Исправить ошибки.
  3. Учиться на ошибках.
  4. Делитесь ошибками с коллегами.
  5. Вернитесь к пункту 1.

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

Опыт сделает вас старшим разработчиком.

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

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

Исследовать

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

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

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

Найдите ответы на все «почему»

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

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

Наставничество

Поворотным моментом в карьере разработчика является то, что вы начинаете наставлять других программистов, которые моложе (по профессии), чем вы. Большая ошибка - считать кого-то отличным разработчиком, если он не может работать в команде, не может нормально общаться со своими коллегами, и особенно если они не могут наставлять других коллег-профессионалов.

В тот момент, когда вы начинаете наставлять младшего разработчика, синергия начинается в обоих направлениях. Младший разработчик начнет слушать «военные истории» своего партнера, и, если ему будет любопытно (пункт 1), он начнет расследование, чтобы наметить свой собственный путь к тому, чтобы стать старшим разработчиком.

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

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

Признайся в том, чего не знаешь

Это очень популярная цитата, в которой говорится, что три самых сложных слова для человека - это не «Я люблю тебя», а «Я не знаю» (бестселлер Freakonomics).

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

Однако великие старшие разработчики - это те, кто быстро признает, что они не знают, не прошли через это или не уверены. Этот факт позволит им узнать это. Эта функция старшего разработчика идеально сочетается с предыдущими пунктами, в которых мы описали, что старшие разработчики пытаются найти причину проблем и что они люди, которые «исследуют».

Поэтому и запомни это:

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

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

Выводы

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

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

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

Первоначально опубликовано на https://www.carloscaballero.io 27 сентября 2019 г.