Os Papéis · Quem faz
Engenheiro de software de redes
Escrito a partir de fontes publicadas
O engenheiro que escreve o sistema operacional sobre o qual uma rede roda. É engenharia de software moldada por restrições incomuns: o código roda sem ninguém por perto, em equipamento que não pode reiniciar, e uma falha aparece como um serviço fora do ar em outro continente.
De quem recebe
- O suporte de produto de terceiro nível
- Defeitos reproduzidos com a evidência anexada — a diferença entre uma correção e uma investigação.
- A gestão de produto
- Requisitos, prioridades, e os clientes por trás deles.
- Órgãos de padronização e especificações
- O comportamento com que o código tem de concordar.
A quem serve
- Todo engenheiro rodando a release
- Software que se comporta como documentado, inclusive quando algo falha.
- O suporte, em todos os níveis
- Correções, contornos (workarounds) e a explicação no nível do código por trás deles.
- A própria arquitetura da plataforma
- Mudanças que respeitam as restrições que o desenho existe para dar.
Do que o trabalho depende
A arquitetura decide o preço de um erro, e a arquitetura foi escolhida muito antes de o engenheiro atual chegar. Numa plataforma em que todos os processos dividem um único address space, um defeito numa feature alcança tudo — então a cautela é o único mecanismo de segurança disponível. Numa plataforma em que um processo pode ser reiniciado a partir de um state store, o mesmo defeito fica contido, e o esforço de engenharia migra de evitar falhas para se recuperar delas. Entender para qual plataforma você está escrevendo é, portanto, a primeira coisa a aprender sobre o trabalho.