Contribuir em todas as fases do ciclo de vida de desenvolvimento; Escrever códigos bem estruturados, eficientes e testáveis; Garantir que os projetos estejam em conformidade com as especificações; Preparar e produzir versões de componentes de software;