Помимо старшего инженера-программиста

Feb 23 2023
Что это значит?
Когда мы говорим о развитии карьеры инженера-программиста, мы говорим не только о старшем инженере-программисте, но что это значит? Роль может выполнять различную группу действий в зависимости от размера или стиля компании, но наиболее важным вкладом является влияние на бизнес. Прежде чем начать свои размышления, я не собираюсь превращать следующие слова в правила или рекомендации.
изображение получено с https://www.tecmundo.com.br/

Когда мы говорим о развитии карьеры инженера-программиста, мы говорим не только о старшем инженере-программисте, но что это значит?

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

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

В начале

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

Неудивительно, что изображение, которое я выбрал для баннера, — это изображение вида автомобиля сзади, и это важно объяснить. Каковы ваши рекомендации в вашей карьере? Где ты работал? С какими проблемами вы столкнулись? Что вы почувствовали, когда поняли, что вызов вывел вас из зоны комфорта?

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

Я знаю, что это философия, но когда вы оглядываетесь на свою карьеру, у вас, вероятно, есть хорошие рекомендации по профессиональным навыкам. Если вы начали работать где-то в 2000-х, мы программировали на Java, C# и .Net. Возможно, разверните свое программное обеспечение в Tomcat, JBoss, WebLogic или IIS.

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

Наверняка у нас есть много историй о центрах обработки данных и полуночных развертываниях (и откатах). Если вы писали код на Java (как я), убедитесь, что вы изменили один файл свойств в рабочей среде и забыли версию в CVS (может быть, SVN для более молодых, и если вы начали свою карьеру с Git, у вас еще много времени впереди в ваша карьера).

Накопление этих чувств укрепило ваши трудные навыки и сделало вас старшим инженером-программистом.

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

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

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

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

… Опустошите свой ум, чтобы стать бесформенным, бесформенным, как вода. (Брюс Ли)

Программное обеспечение не поставляется для машин. Машины с программным обеспечением. Программное обеспечение создается для людей.

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

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

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

Со временем меняется и способ доставки программного обеспечения. Мы начали использовать водопадную модель, а в последнее время используем agile и продолжаем улучшать способ доставки программного обеспечения. Программное сообщество (все, кто работает с программным обеспечением) много обсуждало лучший способ доставки программного обеспечения.

Поставка программного обеспечения развивается, и то, как мы понимаем взаимосвязь между программным обеспечением и бизнесом, также меняется. Сегодня мы называем программное обеспечение продуктом (или цифровым продуктом. Мы найдем много названий).

Обращаете ли вы внимание на эти изменения в управлении проектами по доставке программного обеспечения? Чему вы научились?

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

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

Сколько раз вы действительно задумывались над одним отзывом? Сколько знаний вы узнали от окружающих вас людей? Каковы были реальные причины смены работы?

Через некоторое время….

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

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

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

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

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

Еще раз, после этих мыслей, повторяю: Приятного путешествия!

Вам понравилось путешествие?

Пока думаем о времени и впечатлениях. Мы много говорили о том времени, но все еще не исследовали опыт. Какой опыт позволяет мне прогрессировать?

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

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

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

Каждая из этих характеристик требует особого изучения, но главное, что я хотел бы подчеркнуть, это:

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

Знания никогда не теряются и всегда развиваются.

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

Технологии не синоним молодости. С моей точки зрения, самая важная технология, разработанная людьми, — это письмо. Без письменности человечество не смогло бы прибыть сюда.

Но письменность развивалась, и сегодня человек не пишет на скале, чтобы делиться информацией.

Знания никогда не теряются и всегда развиваются.

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

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

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

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

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

Никто не получит медали, не завоевав их.

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

Что нужно делать в роли старшего инженера-программиста?

Безусловно, эта роль должна влиять на бизнес . Я знаю, это слишком абстрактно. Моя мантра: Будь проще!

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

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

Объясните важность создания метрик наблюдаемости для более глубокого понимания поведения вашего продукта в реальном мире.

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

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

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

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

Расстановка приоритетов — это искусство в программной инженерии . Для инженера-программиста совершенно нормально говорить о битах и ​​байтах, но какую ценность эти биты и байты приносят бизнесу в данный момент?

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

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

Здесь мне неудобно рекомендовать структуру управления уровня А или Б, но если вы инженер-программист, который должен влиять на организацию, вам понадобятся новые инструменты для набора инструментов.

Подведение итогов

Если вы дочитали до этого момента, большое спасибо за то, что обсудили эту тему вместе со мной.

Я хотел бы только исправить ключи:

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