Desenvolvedor(a) backend pleno (automações e integrações)
Conecte seu talento a projetos que impulsionam a pesquisa, a educação e a inovação no Brasil e no mundo. Vem para a RNP! Desenvolvedor(a) backend pleno (automações e integrações)
Summary
Mid-level backend developer at RNP (Brazil's national research and education network) who builds and maintains backend services, automations, and integrations between APIs, internal systems, and infrastructure tools. Core stack: Python, Bash, JavaScript/TypeScript, REST APIs, SQL databases, Linux, Docker/Kubernetes, and CI/CD.
Formação:
- Ensino Superior Completo em Ciência da Computação, Engenharia de Software, Engenharia da Computação ou áreas correlatas;
- Pós-graduação ou especialização em áreas relacionadas será um diferencial.
Experiência Profissional e Conhecimentos Técnicos necessários:
- Experiência no desenvolvimento e na manutenção de aplicações, serviços e automações backend, incluindo integrações entre APIs, sistemas internos e ferramentas de infraestrutura e operação;
- Experiência profissional compatível com atuação em nível pleno, demonstrando autonomia para conduzir demandas de média complexidade, investigar problemas, propor soluções e colaborar com equipes multidisciplinares;
- Domínio de Python para desenvolvimento de serviços, bibliotecas e rotinas de automação, incluindo modularização, gerenciamento de dependências, tratamento de erros e processamento de dados;
- Experiência com Bash e conhecimento de JavaScript ou TypeScript para scripts, automações e integrações;
- Experiência no desenvolvimento, consumo e integração de APIs REST, com conhecimento de HTTP, autenticação, paginação, webhooks, timeouts, retentativas e tratamento de falhas;
- Experiência com Git, incluindo branches, commits, pull ou merge requests, resolução de conflitos, revisão de código e organização de repositórios;
- Conhecimento de bancos de dados relacionais, linguagem SQL, modelagem básica de dados e integração de aplicações com bancos como PostgreSQL, MySQL ou equivalentes;
- Conhecimento de formatos de serialização e intercâmbio de dados, especialmente JSON, YAML e XML;
- Conhecimento prático de Linux, incluindo linha de comando, permissões, serviços, processos, logs, agendamento de tarefas e troubleshooting;
- Experiência com Docker e conhecimento dos conceitos fundamentais de Kubernetes;
- Capacidade de criar e manter documentação técnica, especificações de APIs, diagramas, runbooks, procedimentos operacionais e registros de implementação;
- Inglês técnico para leitura de documentação, análise de mensagens de erro, troubleshooting e elaboração de textos técnicos básicos.
Desejável/Diferencial:
- Conhecimento de boas práticas de engenharia de software, como código limpo, separação de responsabilidades, reutilização, manutenibilidade e revisão de código;
- Experiência com testes unitários e de integração, mocks, cobertura de código e automação de testes;
- Experiência com pipelines de CI/CD utilizando GitLab CI/CD, Azure DevOps, GitHub Actions ou ferramentas equivalentes;
- Conhecimento de ferramentas de automação e infraestrutura como código, especialmente Ansible e/ou Terraform;
- Conhecimento de práticas de observabilidade, incluindo logs estruturados, métricas, traces, eventos, alertas e monitoramento da saúde das aplicações;
- Conhecimento de boas práticas de segurança e desenvolvimento seguro, incluindo OWASP Top 10, autenticação, autorização, gestão de segredos, controle de permissões e segurança em pipelines;
- Conhecimentos de redes, incluindo TCP/IP, DNS, endereçamento IP, roteamento, firewalls, VPNs e troubleshooting básico ou intermediário.
Atividades a serem executadas:
- Levantar e analisar necessidades de automação e integração em conjunto com as equipes de engenharia, infraestrutura, segurança, monitoramento e operações;
- Projetar, desenvolver, testar e manter aplicações, serviços, APIs, bibliotecas e rotinas backend;
- Automatizar processos técnicos e operacionais, reduzindo atividades manuais, falhas recorrentes e tempo de execução;
- Desenvolver integrações entre sistemas internos, plataformas de terceiros e ferramentas de automação, gerenciamento e monitoramento;
- Criar componentes reutilizáveis e padronizados, facilitando a evolução e a manutenção das soluções;
- Implementar mecanismos adequados de autenticação, tratamento de erros, retentativas, controle de acesso e rastreabilidade;
- Desenvolver e manter testes unitários e de integração, assegurando a qualidade e a estabilidade das entregas;
- Versionar o código, elaborar pull ou merge requests e participar de revisões técnicas;
- Criar e manter pipelines de CI/CD para testes, validações, empacotamento e implantação das aplicações;
- Empacotar e executar aplicações em contêineres, apoiando sua implantação e sustentação nos ambientes corporativos;
- Implementar logs estruturados, métricas, traces, alertas e demais recursos de observabilidade;
- Monitorar o funcionamento das soluções, investigar falhas e atuar na identificação e correção de causas-raiz;
- Aplicar boas práticas de arquitetura, segurança, desempenho, documentação e desenvolvimento de software;
- Produzir e manter documentação técnica, especificações de APIs, diagramas, runbooks e procedimentos operacionais;
- Apoiar tecnicamente as equipes consumidoras das soluções e orientar sobre sua utilização;
- Identificar oportunidades de melhoria contínua relacionadas a eficiência, escalabilidade, confiabilidade e experiência operacional;
- Acompanhar o ciclo de vida das soluções, desde o entendimento da necessidade até a implantação, monitoramento, manutenção e evolução.