Меня зовут Роман Гордиенко, c 2015 года я сотрудничаю с ЕРАМ в Украине. Сейчас я – Solution Architect, а начинал свой путь в компании с уровня Middle (может с небольшим плюсиком) Java-инженера. Я прослушал много обучающих программ, прошел три внутренние переаттестации для шага на следующую карьерную ступень, множество раз был менти и ментором. Как и многие коллеги, я продолжаю обучение (в нашей сфере иначе – никак), и менторинг стал одним из самых эффективных форматов для меня. Все потому - и это, наверное, уже ни для кого не секрет - лучше всего разбираешься в вопросе именно для того, чтобы объяснить его другим. В этом материале я расскажу, как мы строим такие программы в ЕРАМ, и поделюсь рекомендациями для тех, кто хочет создать собственную. 

Статья была написана в сотрудничестве с коллективом Global Java Mentoring Program: Наталья Карпеева, Александр Поникарёв, Наталья Глухова, Мария Горильчаник, Ирина Рукавица 

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

Сегодня в ЕРАМ есть внушительный набор менторинг-программ для разных уровней: от студентов до Lead-специалистов всех направлений. С недавних пор мы стремимся внедрять их в T-shape формате: предоставлять человеку обучающие модули и задачи из разных областей с упором в основной опыт специалиста. Так можно одновременно прокачивать технологическую экспертизу (back-end, front-end, devops и т.д.), знания из сфер delivery менеджмента, архитектуры решений и других. Это позволяет заглянуть немного наперед, расширить свои горизонты и разобраться в планах на профессиональное будущее.  

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

Эволюция программы 

Все началось около 10 лет назад. На заре EPAM University, когда к компании стали присоединяться студенты старших курсов ВУЗов, мы увидели, что у них в избытке фундаментальных знаний, но надо было прокачивать и навыки, необходимые в повседневной работе. Рынок бежал вперед очень быстро, объем знаний, которые нужно было осваивать новичкам, рос на глазах. Мы добавляли в обучающую программу темы по Java Core, фреймворкам, облакам, CI/CD... Она разрасталась и в какой-то момент стало очевидно, что в таком формате уже неэффективна. 

Более того, как это порой бывает, инженеры всего мира мыслят схоже. Потому программы по Java рождались параллельно в Украине, Беларуси, других странах. Каждый изобретал свой велосипед и в итоге разумной стала идея объединить все знания в одной менторинг-программе. Это имело смысл и в контексте появления EPAM Anywhere – онлайн-платформы, которая позволяет работать удаленно из любой локации. А еще три года назад мы решили выровнять на глобальном уровне требования и уровень инженеров.  

Так мы начали разбивать материал по уровням (Junior, Middle, Senior, Lead) и оптимизировать объем информации. В итоге перешли к системе семестров с факультативными модулями, которые инженер проходит с ментором. К обновленной программе приложили руку эксперты из Харькова, Киева, Минска – это опытные специалисты, которые в дополнение к проектным активностям регулярно сотрудничают с внутренним центром компетенции по Java.  Всего в новой менторинг-программе – 50 модулей, которые покрывают разнообразные направления: от банального и приевшегося всем Spring и SQL до устоявшихся трендов по REST & GraphQL, нестареющих шаблонов проектирования (GoF, Enterprise intergration etc.) и многого другого. В данный момент 42 локации ЕРАМ по всему миру используют наши материалы. И останавливаться на этом мы не собираемся. 

Изначально, кстати, мы не планировали программу именно менторинговой, она больше была ориентирована на самостоятельное прохождение. Однако оказалось, что ментор помогает усваивать материал по новой теме намного лучше и быстрее. Сейчас каждый инженер может пройти 5-6 месяцев обучения с ментором, адаптируя в процессе модули под конкретный запрос. Ментор также зачастую помогает не только с заданиями в модулях, но консультирует менти по рабочим вопросам, которые возникают в проекте. Все гибко и с упором на цели и задачи специалиста и бизнеса. К примеру, если человек прошел модуль по Kafka, и ему удалось поработать с ней на проекте, то мы засчитаем это в качестве тестового задания (конечно, после ревью ментора), пропуская этап выполнения синтетического задания в модуле, экономя время и силы ученика. После завершения семестра участники проводят ретроспективу. При этом кураторы стремятся получить обратную связь не только от менти и ментора, но и от проекта: насколько полезен был курс инженеру, что стоит изменить в материалах или структуре программы.  

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

Опыт, который вы можете применить в своей команде 

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

Регулярно спрашивайте у delivery менеджеров, на какие технологии есть спрос у них на проектах

Запросы клиентов не всегда равняются трендам на рынке. Чтобы понимать потребности команд, спрашивайте у первоисточника, что нужно заказчикам. Например, мы раз в полгода-год отправляет менеджерам анкеты. После обрабатываем информацию, понимаем спрос, дополняем список модулей и подбираем к новым правильные материалы. Далее – запускаем процесс менторинга и через время уточняем: помогла ли программа в работе на проектах? Этот вопрос задаем как непосредственным участникам, так и руководителям. По большей части менторинг позитивно сказывается на общем delivery, но порой случаются и ситуации, когда никаких изменений не происходит. И в таком случае возникает вопрос: а релевантные ли модули выбирал для себя менти? Возможно, учил то, что любопытно ему лично, а на проекте не требуется? Важно помнить, что секрет наилучшего результата – в балансе между интересами инженера и компании. 

Отмечу, что интересоваться мнением менеджеров можно и чаще. Когда наша программа состояла из 10-12 модулей, мы делали это раз в 3-4 месяца.  

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

Следите за трендами

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

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

Развивайте команду альтернативными способами

Как мы уже обсудили, для создания менторинг-программы нужно время, профессионалы и замотивированные менторы. Пока вы работаете над долгосрочным продуктом, обратите внимание на платные ресурсы в духе Udemy, O’Reilly или другие. Лично я трачу несколько десятков долларов в год, чтобы параллельно обучаться на этих сайтах. Это вполне по карману и вашей компании.  

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

Мотивируйте команду

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

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

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

Немного инсайда 

Я упоминал, что менторинг-программа по Java в ЕРАМ состоит из 50+ модулей для разных уровней инженеров. Мы запускали ее сотни раз, свои знания прокачали тысячи менти, поделились с ними опытом несчетное множество менторов. Мы охватили широкую географию: присутствуем на всех континентах, в 20+ странах, 40+ городах, где есть ЕРАМ. И на этом не останавливаемся.  

Дабы дать читателю пищу для конкретной обратной связи, перечислю, какие темы покрываем во внутренней менторинг-программе по Java, и приведу внешние курсы, которые мы в нее включили: 

Junior: 

Module #24: Java 8 

Lectures:  

Books: 

Doc: 

Optional: 

  
Middle: 

Module #25: Kafka 

Lectures: 

Books:

Docs: 

Optional: 

Senior: 

Module #7: Advanced Multithreading 

Lectures: 

Docs: 

Lead: 

Module #28: NoSQL 

Lectures:  

Docs: 

Sites: 

Успешного менторинга! 

Комментарии (10)


  1. ignat99
    03.09.2021 14:23

    EPAM только в одной стране надо нанять в данный момент 250 разрабов. Как то люди забывают, что от природы только 3% могут быть программистами. И только 10% работать по готовым рецептам.

    Может стоит вернуться на 20 лет назад, когда умения программировать было достаточно?


    1. Tsimur_S
      04.09.2021 10:04

      Как то люди забывают, что от природы только 3% могут быть программистами. И только 10% работать по готовым рецептам.

      Откуда статистика?


      1. ignat99
        04.09.2021 10:10

        Из одной брошюры выпущенной для руководства СССР после глубокого анализа.

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

        10% способны работать по инструкциям - вот их можно отнести к Python/JS/Java/Kotlin - фреймворк - фулстек - React JS - Metro (или любые другие готовые компоненты) программистам у которых нет перспективы стать архитекторами. Могут только по образцам копи-пастить и через стековервфлоу. Так как документацию читают, но не понимают или не могут запомнить.

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

        И около 12 - 25% (вот не помню сколько тут было) могут работать только на простейших операциях - типа дворника или вахтёра (открыл, закрыл калитку).


        1. Tsimur_S
          04.09.2021 15:15

          Из одной брошюры выпущенной для руководства СССР после глубокого анализа.

          1) откуда доверие к такому сомнительному источнику как брошюра? Там было подкрепление в виде ссылок на исследования или авторитет автора?
          2) СССР понятие очень растяжимое, как во времени так и в пространстве. То что было актуально в 20х годах может очень сильно поменяться в конце 80х. Хотя бы из-за изменения процента урбанизации и всеобуча.
          т.н. интеллигентами — там активность не проходит проверку реальным миром)

          Что за проверка реальным миром и как ее проходят программисты? Если программист делает игры или набор масок-фильтров для Инстаграм то он тоже т.н. интеллигент?
          программистам у которых нет перспективы стать архитекторами

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

          То есть любой кто сделал свой велосипед попадает автоматически в 3%?

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

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


          1. ignat99
            04.09.2021 15:43

            Гладко было на бумаге, да забыли про овраги.

            Пример: Еще 2 года назад на питоне не было полноценной реализации UTF для случая национальных символов в одном потоке. Что характерно для сообщений из Твитера, Инстаграма и т.д. А еще в "стандартных блоках" (которые зачастую написаны школьниками да еще меняют хозяина репозитария и содержат ошибки, заботливо закомиченные в эти репозитарии старшими "товарищами" с понятными целями)

            Да я паяю дорожки (смотрите статьи), делал драйвера для ядра Линукс как первых смартфонов Самсунг, так и Самсунг Галакси 2, как и оптимизацию по питанию. А еще вместе со своими студентами в 2004 году делали ряд проектов связанных с дизайном чипов на HDL и тестировании инструментов CAD на Java и Scala. И еще много чего еще, вкючая Дискретные дифференциальные формы для расчета некоторых физических процессов, контролируемых автоматикой.

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


  1. ignat99
    04.09.2021 15:27

    Вы все правильно поняли. Я так и написал - было солидное исследование. Примерно в эпоху Брежнева. Так что партия всегда была в курсе с кем работает. Сейчас ничего не поменялось. Хабр это показывает весьма наглядно.

    Фильтры не для Инстаграм, Твитера, Ютуба и т.д. А для социальных групп и реальных сообщений и мнений реальных людей. Точно так же интерфейсы фронтенда делаются для реальных людей, как и функции бакенда. При этом используется реальные низкоуровневые интерфейсы - принтеры, сокеты, технические средства для образования гибридной компьютерной сети и устройства хранения. Заказы на оборудование размещаются после изучения мнения реальных экспертов в компаниях у реальных людей с которыми часто приходилось пересекаться в реальном мире. Например на реальных выставках, митапах и т.д.

    Про изобретение велосипеда:


  1. oraykova
    06.09.2021 11:34

    Добрый день. Интересная статья, спасибо.

    Скажите, а вы отключаете разработчика от проекта на время обучения?

    И еще не до конца поняла, в чем состоит роль ментора: он следит, чтобы менти проходил сторонние курсы, проверяет, как тот усвоил знания и применяет ли их на проекте?


    1. RomanGordiienko Автор
      06.09.2021 11:50

      Добрый!

      Работа на проекте продолжается.

      Идея в том, что инженер в первую очередь выбирает для улучшения те умения, которые он сможет сразу применить в проекте, хотя, естественно, это не правило. Потому проектная работа наоборот должна мотивировать, и помогать формировать вопросы, на которые отвечают модули программы. И тут роль ментора наиболее важна - объяснить области практического применения изученной теории, как на конкретном проекте с реальными примерами (часто менти приходят код показать и спросить "Так а как тут сделать"), так и поделиться опытом и своей практики.
      И да, это нелегко, ибо нагрузка велика. Зачастую коммуницируем с менеджерами проектов, что человек в это время учится, и может работать чуть меньше над проектными задачами. Все относятся с пониманием, т.к. это и в интересах проекта через 3-4 месяца иметь новую экспертизу у людей.


  1. igorilus
    19.09.2021 16:25

    доброе время суток, спасибо за статью, интересно

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


    1. RomanGordiienko Автор
      19.09.2021 16:28

      Доброе,

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