Criar sua equipe
Em um nível organizacional, a engenharia de plataforma é uma evolução da cultura reativa. Em uma cultura reativa, desenvolvedores solitários criam ferramentas em silos. Quando esse desenvolvedor sai, o conhecimento de como essa ferramenta funciona também sai, o que pode levar a processos interrompidos e tempo de inatividade.
Em uma cultura mais madura, as ferramentas são construídas de forma proativa e mantidas pela equipe de engenharia de plataforma. Há autonomia gerenciada para desenvolvedores e desenvolvedores podem começar rapidamente em novos projetos.
Para que as equipes de engenharia de plataforma sejam bem-sucedidas, suas organizações precisam ter culturas proativas com adesão executiva e desenvolvedores com as habilidades certas.
A cultura proativa e a adesão executiva se alinham com a capacidade de investimento no Modelo de Capacidade de Engenharia de Plataforma. Nos níveis mais altos, a liderança da empresa promove a autonomia e a responsabilidade da equipe, ao mesmo tempo em que incentiva a inovação e implementa medidas de governança.
Organizações com maturidade em engenharia de plataforma têm forte liderança. A engenharia de plataforma dentro de uma empresa é um ato de equilíbrio que requer reavaliação contínua. As organizações precisam apoiar a equipe de engenharia de plataforma em seus esforços para entender o uso atual de recursos e mapear um caminho a seguir.
Nos estágios iniciais da adoção da engenharia de plataforma, cada equipe de produto tem seu próprio conjunto exclusivo de ferramentas, operações e processos de implantação. Em uma organização madura de engenharia de plataforma, a engenharia de plataforma centralizada é vista como a melhor maneira de trabalhar pela liderança e pelos desenvolvedores. Organizações maduras reconhecem que os problemas da equipe de produto são problemas organizacionais.
.. Quando estávamos perseguindo caminhos diferentes, o custo da nuvem, o custo da infraestrutura, o custo da engenharia, vários aspectos, acabou sendo um problema organizacional e o problema de todos de 20.000 desenvolvedores ou 30.000 funcionários do problema da organização. – Líder sênior de engenharia em uma empresa de software corporativo
Sua cultura organizacional precisa apoiar estar em um caminho de descoberta constante na engenharia de plataforma. Os executivos devem se concentrar em apoiar a capacitação da equipe de engenharia de plataforma para inovar.
O objetivo da sua organização deve ser mais em direção a uma cultura de otimização em que os executivos:
- Capacite as equipes para lidar com casos extremos de forma eficaz e impulsionar a inovação.
- Promova a autonomia e a responsabilidade dentro das equipes para incentivar a inovação e a experimentação.
- Garanta relevância e eficácia contínuas em meio à evolução das necessidades de negócios e demandas dos usuários.
Com o tempo, as organizações passam do nível provisório para o nível otimizado de suporte a mudanças culturais com engenharia de plataforma. Em cada nível, o papel da liderança na condução das mudanças culturais necessárias para abraçar a visão da engenharia de plataforma evolui.
Provisório | Operacional | Escalonável | Otimização |
---|---|---|---|
Impulsione uma cultura de tomada de decisão e adaptabilidade baseada em dados. | Promova uma cultura de colaboração, aprendizado contínuo e melhoria. | Promova uma cultura de empatia e crescimento | Incentive a inovação e capacite as equipes para impulsionar a mudança e o progresso |
As motivações organizacionais também evoluem em cada nível de suporte à mudança cultural da engenharia de plataforma.
Provisório | Operacional | Escalonável | Otimização |
---|---|---|---|
|
|
|
|
Os engenheiros de plataforma são a cola entre o desenvolvimento e as operações. Em termos de estrutura organizacional específica, o modelo de Topologias de Equipe é uma boa abordagem para pensar sobre o que você precisa fazer. Por exemplo, você pode optar por ter uma equipe de plataforma evoluída, com especialistas separados que estão mais focados nos aspectos voltados para o desenvolvedor de sua plataforma.
Para ter sucesso, identifique:
- Patrocinadores da equipe (normalmente executivos) que ajudam a priorizar metas de alto nível e defender o uso da plataforma em toda a organização.
- Partes interessadas de operações, segurança, conformidade e arquitetura para ajudar a garantir que a plataforma possa acomodar suas diretrizes e necessidades.
- Alguém para atuar como gerente de produto (independentemente do cargo real) para entender e ajudar a priorizar as necessidades de todos os constituintes.
Os engenheiros de plataforma precisam ter uma mentalidade de produto e também entender as operações. Se eles começaram como desenvolvedores ou na equipe de operações é menos importante do que o conjunto de habilidades. Uma equipe que cria uma plataforma de desenvolvedor interna pode ganhar força ao trazer vários membros da equipe com diferentes origens: desenvolvimento, operações de TI, administradores de K8s, engenheiros de confiabilidade do site (SRE) e especialistas em infraestrutura como código (IaC).
Você também pode fortalecer o conhecimento e o conjunto de habilidades de sua equipe para desenvolver ferramentas, trazendo desenvolvedores adequados de equipes de aplicativos existentes em sua organização. Esses desenvolvedores estão em um bom lugar para ajudar a representar a voz do cliente enquanto você pensa em seus investimentos.
Encontrar engenheiros de plataforma pode ser um desafio.
É muito difícil contratar engenheiros de infraestrutura e plataforma realmente bons. Muitas das pessoas que contratamos hoje são super apaixonadas pelos aplicativos que são diretamente voltados para o cliente, certo? Mas não temos um grande público ou candidatos em toda a indústria de tecnologia que sejam apaixonados por engenharia de infraestrutura e isso é sempre um desafio... Para infraestrutura, esse tipo de experiência é raro. - VP de engenharia em uma empresa de vendas de médio porte
Os engenheiros de plataforma devem ser capazes de:
- Crie e dimensione produtos internos para desenvolvedores com foco em eficiência, confiabilidade e segurança
- Contribuir para a arquitetura e design dos produtos de engenharia de plataforma
- Trabalhar com êxito com orquestração de contêiner (exemplo: Kubernetes), integração contínua/implantação contínua (exemplos: GitHub Actions, Azure Pipelines) e ferramentas de monitoramento e registro em log (exemplos: Prometheus, Grafana, Elasticsearch)
- Criar modelos com IaC (Infraestrutura como Código) e ferramentas associadas (exemplos: Terraform, Azure Resource Manager)
- Escreva código em pelo menos uma linguagem de script (exemplos: Python, PowerShell, Bash)
Construir uma grande equipe de engenharia de plataforma requer uma combinação de diversas habilidades técnicas e uma abordagem centrada no produto. Apesar dos desafios de contratação, construir uma equipe com experiências variadas leva a melhores plataformas internas que melhoram a eficiência, a confiabilidade e a segurança. Essa abordagem holística não apenas atende às necessidades técnicas imediatas de sua organização, mas também promove uma cultura de inovação e melhoria contínua.