O que significa mais corretamente - mais estável, tolerante a falhas e mais fácil de entender - uma entrada rápida, restaurada rapidamente em caso de erro ou falha, com as métricas e alertas corretos para tudo.
Por que não contratar desenvolvedores legais imediatamente:
- Caro, difícil de encontrar.
- É desejável manter a competência distribuída.
- Eles nem sempre se dão bem por causa da concorrência, acontece.
- Exigências Excessivas
Desenvolvedor Júnior - Contras:
- Não há fundamento e conhecimento do design certo.
- Ele não verifica por si mesmo, eles se apressam em dizer "eu fiz" mais rápido.
- Eles não conhecem os regulamentos de Malomalsky.
- Testes - eles sabem o que é útil, mas nunca foram escritos.
- Métricas - que diabos é isso?
- Fácil de caçar para o lado.
Desenvolvedores Junior - vantagens:
- Eles custam um centavo, mais fácil de encontrar
- Você pode cozinhar uma pessoa sob o comando.
A partir disso, fica claro que eles têm muito mais desvantagens do que vantagens, então como os desvios se transformam em vantagens? Primeiro, você precisa se exercitar um pouco e criar a base para isso:
- O ambiente de microsserviço e os microsserviços devem ser o mais padronizados possível. Sobre a arquitetura de microsserviço pode estar aqui - e em russo . O microsserviço deve ser claro até para a mãe do desenvolvedor, que trabalha na biblioteca.
- Documentar todo o sistema (não, não, não é essa documentação estúpida e imprudente que ninguém lê) é um esquema compreensível e se é ainda melhor interativo. Se o desenvolvedor em 1 dia não entendeu seu microsserviço, você tem problemas com a documentação.
- Testes, testes, testes. Na minha opinião, testes de aceitação funcional, bem como testes em tempo real no ambiente de combate, fornecem o resultado mais eficaz. Os testes não devem ser escritos pelos desenvolvedores de software - os desenvolvedores escrevem testes que acabam sendo de ... mo.
- REGULAMENTOS - é nisso que você realmente precisa trabalhar e acompanhar isso. Considero isso o assunto mais significativo. Início do desenvolvimento, descrição do padrão de codificação, descrição para testes, testes, entrega de métricas e alertas, cultura de implantação e até mesmo as regras para beber chá - tudo isso deve demorar cerca de 50% do tempo todo.
- O desenvolvimento com um desenvolvedor Junior é baseado unicamente no princípio - testes aprovados, métricas, alertas, documentação = passou na tarefa.
O que finalmente dá:
- Antes de tudo, você sempre controla o processo e nunca desiste do trabalho em que não entende bem.
- Se algo está quebrado, você sempre sabe o que, onde e como corrigi-lo.
- Você tem 2 vezes mais pessoas (sua garantia da equipe MVP) por menos dinheiro.
- Como bônus, você obtém o mais valioso em desenvolvimento - métricas, alertas e testes relevantes - para isso, tudo foi feito.
A idéia principal deste post é que, com essa abordagem,
você seja forçado a construir uma base para o trabalho de qualidade dos serviços.