Estou em um novo emprego em que o projeto precisa atender a rígidos padrões de qualidade, ser fortemente documentado, gerenciado com grande detalhe, diagramas UML e todas as coisas que são opostas à "codificação de cowboy", onde a maior parte da minha experiência profissional anterior foi . Pense na maneira como o software aeroespacial ou de dispositivos médicos em larga escala é desenvolvido.
Fico feliz em deixar o caos da codificação de cowboys e estou curioso para ver como os métodos de engenharia dos pesos pesados vão. Mas como se pode ganhar rapidamente experiência com os métodos pesados?
Além de simplesmente estar no emprego por alguns meses / anos, isso é.
Com uma mera linguagem, ou uma nova API, é possível hackear um programa de teste de brinquedos, ler, deliberadamente cometer erros para ver o que acontece etc. Como se tornar bom em andar de bicicleta ou tocar um instrumento musical, a prática é essencial. É fácil pegar uma flauta e passar meia hora todos os dias; não há necessidade de ingressar em uma orquestra ou ser um consultor de flauta em tempo integral. Mas como praticar atividades de engenharia de software que são grandes e complexas, envolvem equipes, e grande parte delas é sobre comunicação e planejamento, além de evitar falhas de comunicação e exceder os limites de cronograma e orçamento?
Isso não parece possível fazer solo. Existe uma maneira de um pequeno número de pessoas simular a engenharia de um grande projeto inteiro em pequena escala em um curto período de tempo (um dia)?