Привет, Хабр! Меня зовут Артём Кротов, я работаю руководителем направления развития гибких практик в команде Мир Plat.Form. В статье хочу рассказать, на какое обучение и сертификацию стоит обратить внимание разработчикам и вообще ИТ-специалистам, которые уже понимают, как они хотели бы развиваться по треку hard skills, но в теме soft skills не разбирались.
Если про Scrum и Kanban вы слышали только в контексте типов досок в Jira, а под CI понимаете Bamboo, Jenkins или Gitlab, то моя статья будет для вас полезной. Итак, погнали!
Но перед тем, как двинуться дальше, давайте определимся с терминами…
Под сертификацией я понимаю процесс получения знаний, качество которых соответствует требованиям и подтверждено уполномоченной организацией. Я имею в виду, что важен сам процесс и те знания, которые вы получаете, а не сертификат или бейдж. Последние являются лишь приятным бонусом и могут снять часть вопросов. Например, при интервью или участии в тендере. Еще раз подчеркиваю, что знания важнее сертификата.
Hard skills - навыки, практические знания и технологии, которые присущи конкретной профессии. Например, для Java-разработчика это могут быть ООП, Java Core, Collections, JMM, Gradle/Maven и так далее. Они обычно указываются в резюме или вакансии в первую очередь, их проще оценить и измерить.
Soft skills - это надпрофессиональные, несвязанные напрямую с конкретной профессиональной специализаций, компетенции, навыки и т.д, пусть и тесно связанные с личностными качествами. Например, навык публичных выступлений, тайм-менеджмент, фасилитация, наставничество. Их сложнее измерить и оценить. Также стоит отметить soft skills, которые позволяют организовывать и трансформировать процесс разработки, используя различные подходы: Scrum/Nexus/LeSS, SAFe, eXP, Kanban-метод.
Зачем рядовому члену команды интересоваться чем-то за рамками hard skills?
Да, действительно. Изучаешь новую технологию, пробуешь ее на практике, приобретаешь опыт, добавляешь последние достижения в резюме, получаешь повышение (на текущем месте или переходишь на новое), рассматриваешь следующую… Надеюсь, вы поняли алгоритм.
Если для начинающих специалистов это работает с кратным увеличением компенсации, то для профессионалов экспертного уровня возникает асимптота, и количество технологий не переходят в рост так же просто. В системном мышлении это называется «пределом роста». В этот момент как раз и выходят на сцену soft skills.
С другой стороны, любому члену команды, даже в начале карьеры, неплохо было бы, на мой взгляд, разбираться на базовом уровне в терминах, которые часто звучат в команде от старших товарищей: “стендап”, “спринты”, “технический долг” … Это избавит их в дальнейшем от неверного понимания и неправильных ожиданий, не создаст негативного опыта. Да и участвовать в церемониях, например, в ретроспективе или PI-планировании, комфортнее, когда понимаешь их цель.
Стоит отметить, что soft skills – это не единственная альтернатива hard skills. В Мир Plat.Form мы также выделяем system skills – знание продуктовой составляющей, конкретных систем, а также бизнес-процессов. Эти знания любой член команды получает постоянно при работе над продуктом, поэтому мы подробно не будем на них останавливаться в рамках этой статьи. Но не лишним будет указать, что в некоторых предметных областях, например, таких как финтех, компании требуют от соискателей знаний, подтверждённых отраслевыми сертификатами.
Какую сертификацию я бы рекомендовал?
Далее я буду приводить примеры Agile-сертификаций, полезных для ИТ-специалиста. Но не воспринимайте это рекламой конкретных компаний. Я делюсь личным опытом, и каждая из программ была испытана мною лично. Но помните, где учиться и чему учиться, вы решаете сами.
Applying Professional Scrum for Software Development от Scrum.org
Кому подойдет: командам, особенно тем, где применяется или только планируется профессиональный Scrum (согласно его руководству на сайте scrumguides.org).
Чему вы можете научиться: Изучить Scrum-фреймворк, понять его роли, события, их цели и предназначение. Также данная сертификация фокусируется на итеративной разработке, возникающей архитектуре и инженерных практиках экстремального программирования, в том числе TDD, парном программировании и других. Стоит отметить, что если вы выбираете обучение от сертифицированной организации, то получаете возможность принести свои кейсы и отработать навыки на практике при поддержке тренера.
Сертификация доступна как после тренинга, так и без него. Но прохождение обучения не гарантирует получение сертификата автоматически, что заставляет изучить некоторый объём материала самостоятельно. При прохождении тренинга даются 2 попытки на сдачу теста, это касается всех курсов от Scrum.org.
Certified LeSS Practitioner от LeSS.works
Кому подойдет: командам, особенно тем, у которых уже есть опыт работы по Scrum’у. Особенно если речь идёт о нескольких командах разработки в рамках одного продукта.
Чему вы можете научиться: LeSS — это Large-Scale Scrum, то есть масштабный Scrum или Scrum для большого масштаба. Этот фреймворк фокусируется на продуктах, в которых участвуют несколько команд разработки. При масштабировании разработки от одной к нескольким командам у вас появляется дополнительная ось сложности - взаимодействие команд, с которой нужно уметь работать.
LeSS уделяет внимание не только техническому совершенству и инструментам координации, но и системному и бережливому мышлению, а также теории очередей, на которых он основан. Глубокое изучение данных дисциплин позволит взглянуть не только на свой процесс работы по-новому, но и далеко за его пределы. Например, системная диаграмма (CLD) процесса работы с техническим долгом показывает, как эту проблему можно решить.
Kanban System Design от Kanban.university
Кому подойдет: командам, которые пока не выбрали конкретный подход или процессный фреймворк, но имеющие запрос на постепенные изменения.
Чему вы можете научиться: Kanban-метод поможет разобраться в анализе процессов от запроса до поставки ценности, научиться работать с разными видами задач и запросов. Он также опирается на бережливое мышление и нетерпим к потерям, которые особенно тяжело идентифицировать при разработке ПО, в отличие от материального производства. Например, запасы неготовой или дефектной продукции легко увидеть, находясь в цеху, но не задачи, которые зависли где-то между разработкой и тестированием, особенно если эти две стадии протекают в разных компаниях.
Многим нравится Kanban-метод за то, что его “внедрение” не требует революционных изменений. Вы можете пользоваться практиками Kanban-метода, такими как визуализация и ограничение потока, объясняя это здравым смыслом, а не требованием методологии или подхода.
Навыки фасилитации от facilitato.ru
Кому подойдет: ИТ-специалистам, которые хотели бы развиваться в сторону менеджмента, и вообще всем, кто проводит какие-либо встречи на регулярной основе.
Чему вы можете научиться: Фасилитация - стиль управления, включающий набор навыков по работе с группой в рамках каких-то общих событий. Работа в команде подразумевает проведение частых совместных событий, таких, например, как планирование спринта или релиза. Чтобы принимать наиболее качественные решения в группе за наименьшее количество времени как раз и нужны навыки фасилитации у ведущего таких мероприятий.
Если вы не сталкивались с фасилитацией, то точно знакомы с её отсутствием: затянутые встречи без повестки, решения, принимаемые на основе мнения “самых громких”, а не “самых разбирающихся в проблеме”, и в принципе трата большого количества времени на встречи вместо непосредственно самого написания кода или его тестирования, если мы говорим о разработке ПО.
Как описанное обучение и сертификация могут помочь на рынке?
За свою карьеру я получил опыт участия в интервью как со стороны соискателя, так и со стороны работодателя. Поэтому вижу несравненным плюсом для кандидата наличие у него следующих навыков:
Интегральное понимание хода разработки от идеи до выхода на рынок
Очень круто, когда кандидат может описать, откуда берутся требования, как создается программный продукт, как он передается в эксплуатацию, и кто им пользуется (это идеально!)
Знание инструментов оценки и прогнозирования на основе статистики
Думаю, каждый из разработчиков сталкивался с вопросом “Когда будет сделана задача Х?”. Для ответа на этот вопрос уже придуманы инструменты, которые позволяют дать оценку с учётом её вероятности на основе уже выполненных задач.
Хорошая подготовка для перехода на руководящую позицию
Руководителю команды разработки необходимо иметь широкий кругозор в области программирования, тестирования, инженерных практик, управления командой и проектирования процессов, чтобы наиболее эффективно выполнять свои задачи.
Итого
Мы с вами рассмотрели всего лишь несколько направлений развития soft skills и получения прикладных знаний для разработчиков и вообще ИТ-специалистов. Как вы понимаете, их гораздо больше. Главное понять, что ответственность за ваше развитие в любом из направлений лежит исключительно на вас, за вас этот выбор никто не сделает.
Также в комментариях вы можете указать, какое обучение и сертификацию вы бы добавили в этот список. Всем удачи в развитии!