Работа программистов, технических лидеров и менеджеров большей частью состоит из решения конкретных проектных задач и ответов на запросы клиентов. Из них годами складывается тот опыт, который так ценится на рынке труда. В EPAM уже несколько лет существуют центры компетенций, своего рода «отряды специального назначения» по основным сферам работы.  Так, сотрудники центра компетенций Java решают самые сложные архитектурные задачи, присматривают за развитием компетенций на уровне всей компании, следят за мировыми трендами и помогают вырастить инженеров высочайшего полета. Как они это делают, есть ли шанс присоединится к «воинам света» у новичка и что интересного в этой работе – рассказывает глава центра компетенций Java, сотрудник харьковского офиса EPAM Роман Шрамков.

На мировой арене центр компетенций – не такая уж редкая вещь. В Украине центры компетенций встречаются довольно редко: распространены аутсорсинговые компании, которые многое отдают «на откуп» клиентам.  При такой модели уровень зрелости решений сильно отличается от проекта к проекту. Например, иногда удаётся сразу найти хорошего технического лидера, иногда – нет, есть различия в подходах заказчиков и так далее.

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

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

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

 Мы подскажем, какие технологии стоит вам изучать, что значит  ‘D3’ и как cтроить план развития карьеры новичку.

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

Тут речь идет не только о том, когда и как давать должности, но и об управлении экспертизой (англ. ‘expertise management’) разработчиков разного уровня: от среднего уровня до лидеров команд. Сейчас такого института нет, но он необходим. Центр компетенций Java должен и будет принимать в его создании непосредственное участие.

Еще один большой сегмент нашей работы – pre-sales. Здесь наша задача состоит в том, чтобы понять, что именно хочет в итоге получить клиент, и предложить оптимальный вариант технологического решения, высокоуровневое разбиение на функциональные модули, оценку бюджета и состава команды.

К нам приходят и говорят: «есть проблема».

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

Менеджерам трудно самим закрывать такие вопросы: в командах, где все заняты разработкой, неоткуда  взять и выделить пару недель для полноценного ревью. Тогда подключаемся мы: определяем «болевые точки», делаем анализ качества процессов, кода, практик, архитектуры и так далее. На выходе получаем рекомендации по улучшению и причины, почему это надо сделать. Это помогает перейти на более оптимальную архитектуру или новый стек технологий и объяснить выгоды клиенту понятными ему терминами, чтобы получить на это бюджет.

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

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

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

Такой практический подход уже сейчас используют коллеги, которые ведут архитектурные инициативы в EPAM. Например, они берут практический кейс по облачным технологиям, обсуждают, предлагают разные архитектурные решения, потом проводят разбор полётов. Это интересно инженерам уровня Senior и выше, да и мне очень нравится – помогает следить за трендами.

Чувствуете склонность к изучению нового? Вы в правильном месте: теперь от вас это потребуют.

В центре компетенций посвящают много времени исследованию мировых трендов. Например, очень востребованы SaaS решения. Для многих наших клиентов актуальна оптимизация стоимости инфраструктуры, миграция в облако, построение приватных облаков, мультиарендность (англ. ‘Multitenancy’), общая инфраструктура и пр.

Еще один тренд, который связан с первым – построение больших распределенных систем. Если раньше систему ставили на 3–4 узла и этого хватало, то сейчас узлов много, элементы масштабируются по отдельности. В общем, сервис-ориентированная архитектура и в частности микро сервисы набирают обороты.

Интересно как тренды в архитектуре сейчас возвращают нас к старому, доброму client-server варианту, когда логика приложения все больше переходит на сторону браузера. Сейчас многие Java инженеры столкнулись с тем, что JSP и server-side программирования уже недостаточно. Client-side programming – это то, что обязательно нужно сейчас осваивать, уметь, и делать на этом проекты.

World-class Java Architect: звучит здорово, но что это значит?

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

Совсем другое дело, от задачи к задаче все новое: расположение команды, технологический стек, национальность членов команды, менеджеры со стороны клиента и так далее. Такой опыт «из воздуха», из учебников не возьмется: природных самородков-архитекторов не бывает. Их нужно загружать подобными разнообразными задачами, и в центре компетенций мы это делаем.

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

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

Присоединиться