Больше Всего Ценность Разработчика Повышают Не Навыки Программирования.

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

— Как в вашем понимании выглядит понятие ценности разработчика? Чтобы повысить свою ценность, вам нужно сделать три вещи:

Изучите технологии, востребованные на рынке сегодня и завтра.

Развивать универсальные навыки (мягкие навыки).

Возьмите на себя больше ответственности.

- Начнем с самого простого.

Какие технологии мне следует освоить? Тенденции сегодня меняются невероятно быстро.

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

Я считаю идеальной конфигурацией опыта и навыков человека с Т-образной экспертизой (Т-образные люди).

Суть термина в том, что будучи специалистом в конкретной технической области, он должен иметь представление о том, что происходит в соседних.

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

пример в Дженкинсе).

Он должен знать специфику среды, в которой будет работать код и как обеспечить в ней отказоустойчивость.

Например, освоить AWS/Azure/GCE или локальную установку k8s, уметь исправить ошибку в инструментах развертывания, написанных на golang. В некоторых областях наличие сертификатов повышает ценность.

При приеме на работу важно ваше портфолио; Самый простой способ продемонстрировать свои навыки и код — это участие в проектах с открытым исходным кодом или размещение своих домашних проектов на github. — Вы упомянули несколько популярных технологических решений.

Получается, нам нужно узнать, что в тренде? Не обязательно.

На рынке вы можете следовать за ажиотажем, а можете пойти в противоположном направлении.

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

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

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

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

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

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

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

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

И даже публично говорить или присутствовать.

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

Насчет знания английского думаю все понятно.

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

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

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

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

Никакой прибыли компании этот код не принес.

— Это чем-то напоминает мне ценности Agile. Есть ли здесь связь? Да.

есть такой набор практик называется DevOps и разрабатывает ценности Agile. Это помогает компании переключить внимание с формализации процессов на внутреннее взаимодействие для создания ценности.

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

Или даже посадить.

Например, одна из практик DevOps — CI/CD (самые частые релизы).

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

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

В результате каждая функция решает только свои задачи.

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

У разработчика не должно быть перекоса в сторону ограничения своей ответственности: «Я уже передал задачу на тестирование.

Я больше не могу тебе помочь».

Чем больше ответственности, тем большее влияние на результаты компании.

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

Ответственность за команду требует хорошего общения.

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

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

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

Теги: #саморазвитие #DevOps #коммуникации #пиар

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.