Por mais de 6 anos, seu próprio Java Competency Center vem se desenvolvendo no EPAM. Inicialmente, começou em Minsk, onde estava localizado o principal grupo de especialistas. Com o tempo, a base principal mudou-se para Kharkov, e o Java Competency Center foi ampliado para toda a empresa. E, ao mesmo tempo, ele se tornou uma espécie de equipe virtual de "fogo".
Roman Shramkov, diretor de tecnologia e chefe do Java CC, conta como a estrutura do centro foi formada, desafios e conquistas. Também explica por que as empresas e os especialistas em TI geralmente precisam desses projetos internos e por onde começar a construí-los.

Como se alinha
O objetivo do Centro de Competência segue seu nome - ajuda a fortalecer os pontos da empresa onde há uma necessidade específica de conhecimento tecnológico. Por exemplo, em certas etapas do projeto ou uma pré-venda difícil com o cliente. Ou se o desenvolvedor adotou a atualização automática e está procurando onde obter o conhecimento mais procurado sobre Java. Idealmente, o Centro deve concentrar todas as melhores práticas em seu segmento.
O Java CC está no EPAM desde 2012, e eu o chefiei em 2014. Depois, passamos por uma divisão organizacional, e houve uma grande tentação de usar como modelo as formações de gigantes tecno-gigantes. Na IBM e Oracle, estas são algumas estruturas dedicadas que concentram a experiência em um tópico específico e aconselham os clientes. Mas as informações sobre esses centros são extremamente escassas. É verdade que alguns dos resultados da “escavação” que eu coloquei na fundação. Por exemplo, esses são os modelos de serviço Lightbend, Red Hat e Apache Ignite. Eles acumulam experiência prática e prestam serviços especializados pagos.
Paralelamente, tentamos entender o que nossos colegas de mercado tinham lá. Os funcionários das empresas de TI ucranianas disseram ter centros semelhantes - principalmente áreas educacionais internas ou matrizes de habilidades.
Na parte educacional, precisamos anexar o design. Em particular, reunir especialistas que possam se envolver em negociações com o cliente para discutir a parte técnica. Além disso, o Java cobre uma ampla camada - você não pode cobri-lo apenas com treinamento.
Como resultado, abandonamos algum tipo de disco rígido, e ainda mais vinculado ao formato do local. De fato, em todos os pontos de presença da empresa - suas próprias tarefas. Portanto, em busca da fórmula desejada, contamos com
dois princípios.- comunicar-se constantemente com outros centros de competência da empresa - para trocar informações e idéias valiosas sobre a organização;
- monitoramos os problemas de Java o tempo todo - fazemos sessões estratégicas, discutimos desafios e procuramos soluções.
Nós nos esforçamos para concentrar especialistas em pensamento inovador em todo o Java Competency Center. E, portanto, é necessário experimentar.
Como é isso?
A espinha dorsal do Centro é de cerca de 30 pessoas. São pessoas que estão intimamente envolvidas em seu trabalho. Além deles, existem mais de 1.500 engenheiros envolvidos ativamente na comunidade técnica e mais de 5.000 pessoas em geral na competência Java.
Os principais "nós" do Java CC são.
- A estrutura que organiza a comunidade: gerentes da comunidade de parceiros de negócios de RH e drivers da comunidade de Java.
- Equipe de arquitetos. Ela é atraída pelo envolvimento do cliente, pré-vendas e casos de SWOT (projetos em que existe o risco de perder dinheiro ou de um cliente, onde é necessário um suporte intensivo de engenharia). Esta parte é muito flexível. Mas, dentro dele, há um grupo principal, de 5 a 6 arquitetos, com um alto nível de conhecimento. Trabalhamos com eles constantemente. A equipe, se necessário e para a tarefa, envolve arquitetos ou desenvolvedores na produção. E o arquiteto do grupo principal para eles se torna gerente e supervisor técnico.
- Grupo educativo. Seus participantes criam programas de treinamento e orientação em Java. O grupo é muito disperso e gerenciado pelo Centro de Competência ao mínimo. Afinal, os programas de treinamento são formados exclusivamente para as tarefas de um local separado. Além disso, frequentemente eles também alocam recursos para isso. Há ajuda nossa nisso, mas nunca uma imposição.
Se, em geral, o Competence Center é um grupo distribuído de especialistas que resolve problemas complexos em diferentes locais. E não estamos limitados a nenhum país, muito menos a uma unidade de negócios separada.
Como o trabalho é levado em consideração
Um dos momentos mais difíceis para o Centro: não podemos levar os melhores engenheiros completamente para trabalhar com caixas “vermelhas” ou apenas para treinamento, removendo o restante da carga de trabalho delas. Isso complicará o controle e os afastará parcialmente da realidade.
Requisito para qualquer um de nossos especialistas: em cerca de 80% do tempo, ele deve lidar com projetos reais. A vantagem é que não há obsessão pela teoria. O menos óbvio é que, sob tais cargas, é difícil garantir uma estrutura eficaz do Centro de Competência. E a equipe, lembro-me, já está distribuída.
Portanto, por enquanto, estamos construindo o Java CC como um grupo virtual. As pessoas trabalham na produção, no conhecimento de bombas. Nós os atraímos para compartilhar seus conhecimentos e melhores práticas em projetos semelhantes aos que eles já encontraram. Eles também nos ajudam na consultoria de clientes e fazemos com que a reciclagem seja faturável. O principal é que a entrada do especialista no caso é aconselhável.
Existem vários modelos de interação com o centro de competência:
- Ajuda no início. O especialista do Centro garante que o novo projeto seja iniciado corretamente e a equipe rapidamente reúne conhecimento. Depois que os processos são resolvidos e a equipe passa para a execução sistemática de tarefas, o especialista sai do projeto.
- Conselho de ajuda . O especialista aconselha a equipe apenas em questões emergentes específicas.
- Ajuda com uma tarefa específica. O especialista está envolvido no projeto firmemente, mas apenas por um determinado período. Defina separadamente os critérios para sair do projeto.
A motivação do colaborador é um ponto importante. Sim, é legal trabalhar em projetos complexos e, além disso, se aprimorar. Mas incentivos materiais também são necessários. Este é um bônus em dinheiro da empresa para aqueles que estão contribuindo para o Competence Center. Motivação separada é fornecida pelo Centro: damos presentes aos colaboradores Java aos melhores colaboradores. E para aqueles que nos ajudam constantemente, participam de consultoria, pré-venda, casos "vermelhos", um bônus para o projeto e, potencialmente, um bônus anual do Competence Center.
O que fizemos e o que planejamos?
As realizações do Centro podem ser divididas em dois tipos. Externo - é claro que é uma lista de projetos complexos recebidos, decididos ou ampliados com a participação de especialistas do Centro. Você pode escrever uma história separada sobre cada caso. O que é importante: O Java CC ajudou uma grande empresa distribuída a formar um círculo de especialistas interessados na competência Java. E sem essa concentração de especialistas, mesmo que esteja nublado, nada teria acontecido. Estes já são efeitos positivos internos.
No âmbito do Centro, foram criados vários aceleradores que ajudam a atrair clientes, simplificam o lançamento ou o desenvolvimento contínuo. Por exemplo, em dois anos, nossa equipe de especialistas produziu dois aceleradores de sucesso: EPAM Delivery Platform e EPAM Microservices Accelerator.
Além disso, estão nascendo projetos para o treinamento de funcionários: iniciativas de treinamento, boletins sobre tecnologias Java e grupos de discussão para atualizações foram lançados. Há um fluxo constante de informações úteis para os engenheiros.
A aprendizagem contínua é outra grande tarefa do Centro. Este é o campo em que estamos tentando mirar no futuro e, portanto,
constantemente nos
perguntamos :
- como determinar que conhecimento é útil para especialistas?
- Quais habilidades do desenvolvedor estarão em demanda no cliente?
- Quais programas de treinamento precisam ser preparados para superar a demanda por novas tecnologias?
- como conectar tudo isso com os negócios em execução do cliente?
Para referência, usamos a matriz de habilidades. Abaixamos as habilidades que achamos que o desenvolvedor deveria ter, de Júnior a Chefe. A matriz definitivamente não é a verdade suprema, mas sim um suporte para os desenvolvedores. Para crianças que desenvolvem em Java, ajuda a navegar, no estudo do qual é melhor concentrar seus esforços em cada nível.
Com base na matriz de habilidades, queremos estabelecer um aprendizado contínuo. O algoritmo é o seguinte: pesquisamos novas tecnologias -> elas caem nas células da matriz -> de acordo com a matriz, forma-se um programa educacional -> funcionários estudam de acordo com o programa -> funcionários caem no projeto, já guiados por novas tecnologias.
Como vemos o futuro
Embora nossa estrutura esteja agora distribuída, no futuro eu gostaria de criar grupos de competências em diferentes locais. Mas enquanto estamos fortalecendo a estrutura atual.
O Java CC se move ao longo de dois vetores principais.
1. Desenvolvimento de recomendações e metodologias.Então, iniciamos o acelerador de microsserviços, que mencionei acima. Previmos que nos próximos 3-5 anos, os microsserviços se tornarão um tópico popular. Enfatizamos o seguinte: desenvolvemos uma arquitetura de referência para grandes clientes, estudamos várias estruturas e selecionamos entre elas as que são mais procuradas em grandes empresas com as quais cooperamos. E eles não falharam - logo os projetos de microsserviços realmente decolaram sob demanda. Graças ao acelerador, fomos a reuniões com grandes clientes bem preparados e imediatamente com projetos de demonstração.
2. Treinamento em tecnologias para as quais haverá demanda no futuro próximo.Como exemplo, com base no laboratório de P&D, propositadamente treinamos uma equipe de estudantes estagiários na pilha de microsserviços. No projeto para o qual foram enviados, os funcionários trabalharam mais produtivamente que seus colegas - mais experientes, mas que não tiveram treinamento específico em microsserviços.
Agora, nos concentramos em soluções PaaS - em especial no Docker, Kubernetes, Open Shift, Cloud Foundry e similares. Pensamos que a demanda por eles em breve crescerá. Estudamos, tentamos integrar gradualmente a experiência em tarefas vivas - estamos nos preparando para os próximos projetos de nossos clientes.
O que podemos recomendar
Se você decidir criar um centro de competência, então, como no início de qualquer coisa, é importante decidir sobre os problemas e casos da empresa que você confia a ele. E também para entender / pensar / calcular que valor isso pode trazer para você.
Suponha que você tenha um grupo de pessoas com um certo conhecimento em sua empresa. Como eles podem melhorar seu negócio? O que em comparação com os concorrentes lhe dará esse recurso? E, é claro, quanto você está disposto a investir nessa estrutura: tempo, dinheiro, incentivos intangíveis?
As respostas a essas perguntas fornecerão a base para os primeiros passos. E então - apenas aja, experimente e esteja alerta.