Resposta curta
Design de sistemas mostra como avaliar limites, interfaces, fluxo de dados e falhas em escopos cada vez maiores.
Sobre Design de sistemas
Capacidade de definir estruturas e limites de sistemas que atendem às necessidades atuais e permitem operação e mudança seguras.
Use esta competência para
- Papéis que decidem sobre componentes, interfaces, dados ou fluxos distribuídos.
- Functions em que escolhas técnicas criam dependências para outros times.
Não use esta competência para
- Trabalho restrito ao uso de sistemas prontos, sem alterar limites ou contratos.
Diferenças importantes
Qualidade de código
Qualidade de código trata da manutenção do código. Design de sistemas trata dos limites e das interações entre componentes.
Engenharia de confiabilidade
Confiabilidade busca disponibilidade e recuperação. Design de sistemas cobre a estrutura mais ampla, inclusive outros tipos de escolha.
Expectativas por nível
IC1
Contribuidor individual 1
Altera com orientação um componente de escopo definido, segue os padrões atuais e valida premissas antes de afetar uma interface compartilhada.
Comportamentos observáveis
- Percorre o fluxo de dados ou requisições antes da mudança.
- Usa o limite já definido para uma alteração local.
- Pede revisão antes de mudar um contrato compartilhado.
Exemplos
- Mapeou os chamadores de um componente antes de alterar a resposta.
- Incluiu um campo pela interface existente sem expor o armazenamento interno.
IC2
Contribuidor individual 2
Desenha com autonomia uma mudança do time com requisitos incompletos e resolve escolhas de interface, dados e falhas.
Comportamentos observáveis
- Registra o limite escolhido e as alternativas recusadas.
- Planeja migração e reversão para mudanças com estado.
- Valida contratos com quem mantém os componentes afetados.
Exemplos
- Desenhou um fluxo assíncrono comparando repetição e duplicidade.
- Fez uma mudança gradual no modelo de dados sem quebrar as leituras atuais.
IC3
Contribuidor individual 3
Enquadra problemas de design pouco claros entre times, define limites compartilhados e permite implementações compatíveis com autonomia.
Comportamentos observáveis
- Define contratos e responsáveis entre vários componentes.
- Revisa acoplamento, operação e custo de mudança.
- Transforma decisões repetidas em padrão reutilizável.
Exemplos
- Definiu um contrato de eventos implementado por três times sem premissas conflitantes.
- Separou um fluxo acoplado em limites com donos e sequência de migração acordada.