Um programador de software é uma pessoa que usa linguagens de programação para escrever código para software e aplicativos que operam como produtos autônomos ou interagem com outros serviços e servidores. Eles são responsáveis por projetar, testar e manter sistemas de software como parte do fornecimento de serviços de tecnologia da informação.
Além de criar um novo software, os programadores de software testam o software existente em relação ao aplicativo pretendido, encontram bugs e erros e modificam o software para retificar problemas ou adaptá-lo para um uso diferente. Ao trabalhar com software existente, os programadores de software normalmente procuram integrá-lo às redes existentes. Como alternativa, eles têm a tarefa de substituir todo o sistema por uma nova solução de software com base nas especificações que o departamento de TI de uma empresa dita.
Os programadores de software trabalham em conjunto com designers e analistas para revisar os sistemas de software que suas empresas já estão usando e apresentar novas ideias sobre melhorias potenciais. Depois de criar novos softwares ou aplicativos, eles testam a funcionalidade em um ambiente controlado que simula situações reais para garantir que funcione corretamente quando lançado. Durante esse processo, os programadores de software também criam documentação centrada no usuário sobre o treinamento e o uso adequado do software. Os programadores de software geralmente se concentram na criação de software destinado principalmente à venda, como videogames e sistemas operacionais, ou software projetado para facilitar as operações de negócios da empresa que o fez o pedido.