Больше всего ценность разработчика увеличивают не навыки программирования

    Автор книги о построении карьеры Роман Жихарев беседует с техническим директором G-Core Labs, Василием Михаленей о том, чего современные it-компании ждут от своих сотрудников.

    — Как в твоем понимании выглядит концепция ценности разработчика?

    Чтобы увеличивать свою стоимость, надо делать три вещи:

    1. Изучать технологии востребованные на рынке сегодня и завтра.
    2. Развивать универсальные навыки (soft skills).
    3. Брать на себя больше ответственности.

    — Давай начнем с самого простого. Какие технологии осваивать?

    Тренды сегодня меняются невероятно быстро. Поэтому я бы хотел озвучить какие-то общие принципы, а не описывать тренды или заниматься предсказаниями. Идеальной конфигурацией опыта и умений я считаю человека с Т-образной экспертизой (T-shape people). Суть термина в том, что являясь экспертом в конкретной технической области, он должен иметь представление о том, что происходит в соседних.

    Например, backend разработчику кроме глубокого знания особенностей языка (например Python) и распространенных фреймворков, обязательно нужно знать и, желательно, уметь построить процесс тестирования, сборки и деплоймента (CI/CD pipeline, например в Jenkins). Он должен знать особенности среды, в которой будет работать код, и как в ней обеспечить отказоустойчивость. Например, совладать с AWS/Azure/GCE или on-premise инсталяцией k8s, уметь поправить ошибку в инструментах развертывания, написанных на golang.

    В некоторых областях ценность повышает наличие сертификатов. При приеме на работу значение имеет ваше портфолио, проще всего продемонстрировать ваши навыки и код через участие в open-source проектах или размещении своих pet-projects на github.

    — Ты упомянул несколько популярных технологических решений. Получается, надо учиться тому что в тренде?

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

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

    Но есть более консервативные отрасли: международные банки, промышленные и энергетические гиганты, оборонка. Им очень тяжело найти специалистов под свой стек и они готовы платить хорошие деньги. Хороший пример — использование «умирающего» Perl в booking.com и mail.ru. Или COBOL, разработанный в 60-х, и до сих пор используемый в некоторых финансовых учреждениях США.

    — А что тогда подразумевается под универсальными навыками?

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

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

    — Что значит брать больше ответственности?

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

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

    — Это чем-то напоминает мне ценности Agile. Тут есть связь?

    Да. Есть такой набор практик под названием DevOps, развивающий ценности Agile. Он помогает компании сместить фокус с формализации процессов на взаимодействие внутри для создания ценности. Но это невозможно без принятия ответственности за итоговый результат всеми членами команды.

    Хороший разработчик понимает культуру DevOps и умеет её применять в своей команде и, в идеале, компании. Или даже насаждать. Например, одной из практик DevOps является CI/CD (наиболее частые релизы). И если вы действительно захотите делать частые релизы (хотя бы один в день), вы не сможете делать это в отсутствие автоматизации интеграции и тестирования, автоматизации и стабилизации процесса деплоймента, отделения релиза от деплоймента (feature toggling), работающего и понятно разработчикам мониторинга, сохранения обратной совместимости, механизма отката изменений и т.д. Вам станет очевидно, что ответственность хорошего разработчика не заканчивается при передаче задачи в отдел QA.

    Ценность частых релизов вроде бы всем очевидна.

    Анти-паттерн DevOps — это разделение производственного процесса на два и более функциональных колодца: разработка, тестирование, оперирование, безопасность. Как следствие — каждая функция решает только свои проблемы.

    Общий смысл в том, что команда должна принять на себя ответственность за качество выпускаемого продукта, ценность фичей для клиента, сроки, и в гораздо меньшей степени формальное соответствие требованиям в описании задачи. У разработчика не должно быть предубеждения в сторону ограничения своей ответственности: «Я уже передал задачу в тестирование. Больше ничем не могу помочь».

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

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

    — Везде так?

    В большой компании с уже поставленными зрелыми процессами, принятие ответственности будет означать делать что-то сверх работы на своем проекте: организация митапов, tech talks, хакатонов; участие в presale или обучении интернов.

    — Выводы?

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

    Похожие публикации

    Комментарии 13

      +7
      Можно было на много проще написать — Мы хотим тебя превратить в гребца/UNIT потому, что ты никто и звать никак и должен сторожить монитор from lowerbound to upperbound. Или мы хотим превратить индустирию в галеру — ну прям как завод! в чем проблема манки кодить 9 часов?
      Может стоит сотрудничать с прекрасными софистами чем с разработчиками с своим стилем работы? у софистов супер soft skills а все эти разработчики которые уважают себя и ценят life/work баланс ну их на… — вайтишников достаточно
      Я люблю океан в Португалии и работаю последние 3 года как бы в Киеве даже иногда летаю на митапы и у меян soft skills дерьмо потому что я токсичный и требую от бекенеров быть профессионалами, а не вот этими кем они есть
      просто сегодня немного дождит и потому виноверде( как бы уже не утро потому можно ) и текст
        0
        Хвала языкам с низким порогом вхождения — даешь больше вайтишников… Похватают все по верхам и давай устраивать гейпарады митапы с кофе и плюшками, где рассказывают много, но пустого.
        +4
        В большой компании с уже поставленными зрелыми процессами, принятие ответственности будет означать делать что-то сверх работы на своем проекте: организация митапов, tech talks, хакатонов; участие в presale или обучении интернов.


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

        С подобным галерным подходом далеко не уедите.
        Хотите чтобы больше работал и проявлял инициативу? Платите больше! А еще лучше долю в компании предоставьте, если реально приносит бабла.

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

        Перевожу на русский:
        Обрети навыки вешания лапши на уши и кормления завтра-ками, чтобы меньше платить и получать больший результат (прибыль).
          +1
          еще нужно открыто говорить о том, что галеры или подобные умники это делают для того чтоб сам гребец рекламировал саму галеру и уменьшал верхнюю планку по зп ( это очень именитая компания я хочу работать на их главного любимого божества и могу даже чистить туфли чтоб потом когда-то наработать опыт и в портфолио написать — я причастен к foor loop в этом замечательном продукте знаменитой комнании и даже как то на парковке видел владыку) своими хакатаноми конференциями и подобным и чтоб другие верили его теориям и инсайдам и важно еще откровения которые уводят других в сторону от настоящих знаний которыми бы и кто-то мог поделиться но не будет из-за DNA.
          Это как в выступлениями о — все преходите на Flutter там круто и вы там и здохните! или — мы магазин у нас трилион покупок и 2 трилиона звездочек в app store чтоб это достичь мы играем в морской бой используя A/B тестирование из 100 дизайнов и 1000 разных контролеров одного вью
          а есть просто хомячки которые отлично разносят эту заразу по компаниям поменьше и убвивают их из-за того что сами являются находкой для цыган
          +2
          Жаль что про расширение или углубление hardskils мало. Т.к. иногда ещё и работать приходится, а когда ты тимлид или архитектор то softskils это только 50% всей необходимой мощи.
            0
            Развитие hard skills — это тема для отдельной статьи. В этом интервью мы хотели сказать, что мир так устроен, что высокая техническая компетенция отдельных специалистов не позволяет извлечь из нее выгоду для компании, в отсутвтии навыков общения. А при низкой компетенции без правильной организации работы (и коммуникации) исправлять ошибки и доставлять обновления быстро очень трудно. Поэтому основной рост ценности разработчика для компании и связан с soft skills
            0
            Все что на самом деле нужно в IT чел озвучил: «Но надо понимать, что если код не попал в продакшен вовремя, то его качество или используемые инструменты не имеют значения. Этот код не принес прибыли компании.» А все остальное это хотелки компаний чтобы снизить стоимость этого кода.
              +1
              Не весь код должен попадать в продакшен, лол. Конечно, если вы там пилите очередной стартап на коленке, то может быть и да (если не успеете проесть все деньги инвесторов). Но если компания чуть покрупнее, то много всего делается, а потом выкидывается.
                0
                Ну раз вы так все буквально понимаете: программист должен генерировать код, именно за это ему платят деньги. А вся остальная иностранщина в виде мотивационных тренингов, тимбилдингов и прочей ереси — это попытки сэкономить на зарплатах. Если человек специалист, то в нормальной компании будут на него молиться чтобы он только лишь свою работу и обеспечат ему комфортные условия. А когда компания дешеванская начинают грузить тем что дескать кроме своих прямых обязанностей «он чего то там должен». Ребята, не нравится работник увольте его нахрен, а нравится — не надо пытаться завуалированно из него давить все соки. Потому что закончиться это тем, что он прогнется на время, а потом соскочет туда где ему будет лучше и предложат больше, даже с тем что у него есть и скиллов на текущий момент.
              0
              Ёмко и полезно.
              Совсем недавно я, движимый желанием вырасти, как специалист, понял, что мне необходимо взять на себя больше ответственности. Начальник мне её дал и вместе с этим я получил очень много возможностей к развитию. Новые технологии, взаимодействие с другими отделами, общение с разработчиками за пределами нашей команды, и что мне более всего сейчас нравится — новые предметные области, которые мне нужно изучить, чтобы решить большую задачу.
              В общем, маленький шаг(взять на себя больше ответственности) + много усилий(энтузиазма, заинтересованности и саморазвития) = плодотворный рост как личности, так и специалиста.
                0
                Мне кажется, что Роман Жихарев говорит про ценность разработчика внутри G-Core Labs, но никак не про рынок в целом, ведь CI/CD, например, может присутствовать это не только на стороне разработки, но и у заказчика, а может у заказчика отсутствовать и готовый продукт устанавливаться ручками.
                Если говорить про набор технологий, то тут хоть хайп, хоть ретроград, но внешние факторы, например сертификация ФСТЭК, может добавить свои условия, например, под какие сертифицированные ОС адаптировать, например, в организациях крутятся RHEL5, со всеми вытекающими.

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

                Самое читаемое