É responsável por escrever o código que impulsiona a funcionalidade do servidor. Isso envolve a escolha da linguagem de programação mais adequada, como Python, Java, Ruby ou Node.js, e o uso de frameworks como Django, Spring, Ruby on Rails ou Express.js. Implementa a lógica de negócios, a manipulação de dados e a comunicação com o banco de dados. Desenvolve soluções técnicas de alta complexidade, através do desenvolvimento de requisitos de softwares utilizando-se das tecnologias envolvidas no projeto. Conhece a fundo a arquitetura do software e é capaz de operá-la através da análise de seus componentes, organização e funcionalidades. Cria testes de alta complexidade, sejam eles manuais ou automatizados, que cubram o comportamento desejado dos componentes técnicos desenvolvidos utilizando os requisitos e ferramentas de testes. Documenta as etapas de desenvolvimento, realizando o registro do desenvolvimento nas ferramentas de versionamento e documentação. Orienta e trabalha com o time de desenvolvimento para encontrar soluções de negócio, arquitetura e desenho através da comunicação e trocas de conhecimento. Mantém a qualidade do software, verificando os processos, ferramentas e boas práticas disponíveis para o produto e tecnologia utilizados; Orienta os desenvolvedores de menor senioridade apoiando suas dúvidas, disseminando seu conhecimento, desenhando e arquitetando soluções ou indicando documentação de apoio; Detalha os requisitos de média e alta complexidade através do contato com clientes e áreas envolvidas no projeto/atendimento. Utiliza frameworks já definidos para o desenvolvimento de soluções. É responsável por integrar o aplicativo ou sistema com outros sistemas externos, como serviços de terceiros, APIs (Application Programming Interfaces) ou sistemas legados. Projeta e implementa o banco de dados do aplicativo. Isso inclui a criação da estrutura de banco de dados, o design de tabelas, a definição de relacionamentos e a otimização de consultas. Trabalha em estreita colaboração com os desenvolvedores front-end para garantir a integração perfeita entre o front-end e o back-end. É responsável por garantir o desempenho e a escalabilidade do aplicativo ou sistema. Analisa e otimiza consultas de banco de dados, utilizando técnicas de cache e implementando estratégias de armazenamento em cache para melhorar a velocidade e a eficiência. É responsável pela manutenção contínua do código do servidor, aplicando correções de bugs, implementando atualizações de segurança e melhorando a funcionalidade do sistema conforme necessário. Ele também lida com tarefas de monitoramento e solução de problemas para garantir a estabilidade e o bom funcionamento do sistema. É responsável por manter a qualidade do código evitando duplicidade, boas práticas, resiliência, gerenciamento e segurança. Mentora a performance do time, colaborando para seu desenvolvimento técnico.