Pesquisar, desenhar, implementar e gerenciar programas de software.
Testar e avaliar novos programas.
Identificar áreas de modificação em programas existentes e desenvolver essas modificações.
Escrever e implementar códigos eficientes.
Determinar a viabilidade operacional.
Desenvolver procedimentos de garantia de qualidade.
Implantar ferramentas, processos e métricas de software.
Manter e atualizar sistemas existentes.
Treinar usuários.
Trabalhar em colaboração com outros desenvolvedores, designers de UX, analistas de negócios e sistemas.