Como o Facebook faz deploy
(subokim.wordpress.com)- Estrutura organizacional: Engineering e a equipe de Ops representam mais de 50%, e 1 gerente de produto normalmente cuida de cerca de 7 a 10 engenheiros
- Entrada na empresa: depois de passar por um bootcamp de 4 a 6 semanas, a pessoa recebe permissão para acessar o banco de dados real
- Autoridade e responsabilidade: todo engenheiro pode modificar qualquer parte do código, e também tem liberdade para mudar specs e prioridades
- Forma de trabalho: os engenheiros compartilham o andamento do trabalho e escolhem em quais projetos participar. A maioria desenvolve em full stack.
- Code review: os desenvolvedores querem dedicar muito esforço a problemas de backend e infraestrutura. Toda mudança é revisada por pelo menos uma pessoa.
- QA, unit test: não existe uma equipe de QA, mas existe trabalho de QA. Os engenheiros testam e corrigem bugs. Há um processo de testes automatizados pelo qual é obrigatório passar antes do deploy.
- Gerente de produto: o gerente de produto é independente e tem liberdade. Ao criar o roadmap, não precisa pedir permissão nem passar por revisão
- DevOps, deploy: todo commit é implantado semanalmente. Existe um processo de release para implantar o código de forma gradual.
- Equipe de Ops: a equipe de Ops entende muito bem o negócio e gerencia em conjunto logs de erro, balanceamento de carga e uso de memória.
- Desempenho, reputação: é uma cultura orientada a resultados, e cada um precisa se virar. Pessoas pouco produtivas ou que não são gênios ficam bem visíveis.
5 comentários
"Pessoas que não são gênios ficam bem visíveis."
Pesado...
Dito de outro modo, "pessoas produtivas e geniais não chamam atenção"
Dá uma sensação de "aqui só tem gênios", então penso em como o Facebook daquela época era realmente impressionante.
Lendo isto considerando que foi escrito em janeiro de 2011, a impressão é ainda mais forte.
(com base no original)