(типы программистов, которые никогда не входят в менеджмент)

На прошлой неделе Medium порекомендовал мне этот пост:



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

  1. Специалисты — те, кто продолжает учиться и работать все больше и больше с одним подмножеством технологий и развиваться вместе с ним;
  2. Универсалисты — те, кто узнают обо всем (в области разработки программного обеспечения) и работают все больше и больше, используя любой возможный стек технологий, развиваясь как единое целое;
  3. Наследники (ленивые?) — те, кто не учится новому, но иногда устраиваются на очень хорошо оплачиваемую работу, смотрите сейчас в тренде вакансии COBOL;
  4. Сменщики карьеры — те, кто занимается чем-то другим, возможно, связанным с разработкой программного обеспечения, например (только) сбором требований, художественным дизайном или даже тестированием.

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

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

Я разбираюсь в технологиях, а не в людях, вот и все; и это нормально.

Куда я хочу пойти тогда? Какой я программист из четырех вышеперечисленных? (Я спросил себя.)

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

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

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

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

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

Это были первые три варианта, объединенные. А как же смена карьеры, спросите вы, четвертая. Это несовместимо, да?

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

Таким образом, я являюсь своего рода специалистом (в качестве примера возьмем WPF) с некоторыми устаревшими разветвлениями (Silverlight и, возможно, Windows Forms и… C!), и универсалом (занимаюсь также macOS и iOS с 2017 года, а иногда и JavaScript, более 10 лет назад). Пока появляются новые увлечения.

Я не знаю, есть ли у других людей похожие жизни и амбиции (да? Или я просто средний возраст с СДВГ? 😀), но мне действительно любопытно, хотите ли вы, как разработчик, или уже приняли любые руководящие должности, или предпочитаете ли вы присоединиться или уже стали одним из четырех вышеперечисленных типов; или (всегда) более одного типа, как я предложил выше.

В любом случае, пока спасибо, что прочитали это — оно стало таким длинным!