Texto agregado para leitura rápida. Confira sempre a fonte original ao enviar a candidatura.
Engenheiro(a) de Software Sênior — .NET / Desktop Cross-Platform
Híbrido/ Local Barueri
Sobre a oportunidade
Buscamos uma pessoa sênior para atuar como referência técnica no desenvolvimento de um agente desktop corporativo multiplataforma (Windows, macOS, Linux), parte central de uma plataforma SaaS B2B enterprise. O agente roda em larga escala em parques de clientes corporativos, com responsabilidade sobre coleta de telemetria, gestão de endpoint e integrações de produto. A plataforma processa hoje milhões de mensagens por dia, em operação tanto em cloud quanto on-premises nos ambientes dos clientes — e o agente está na ponta que gera boa parte desse volume.
Em paralelo, a pessoa atua na evolução dos serviços de backend em .NET que sustentam a plataforma e participa da migração gradual de serviços legados para a arquitetura .NET atual. Parte desses serviços legados está em Node.js e Python — não esperamos entrega solo nessas stacks, mas esperamos autonomia para ler e executar esse código a fim de entender o comportamento que está sendo migrado.
Procuramos um perfil de engenharia ponta-a-ponta: alguém que pensa em produto, arquitetura, ambiente local, observabilidade, segurança e experiência do desenvolvedor — não apenas no código de uma feature isolada.
Foco da posição
- Primário — desenvolvimento e evolução do agente desktop em C# / .NET, com paridade entre Windows, macOS e Linux.
- Secundário — evolução de serviços de backend em .NET (APIs e workers) que se comunicam com o agente e sustentam o backoffice da plataforma.
- Apoio — leitura e execução de serviços legados em Node.js e Python como parte do trabalho de migração para .NET.
Stack-chave
Onde se espera entrega autônoma
- C# / .NET — em sistemas reais, em produção
- Aplicações desktop cross-platform em .NET (Windows, macOS, Linux)
- APIs REST e integrações HTTP
- Processamento assíncrono e mensageria
- Bancos de dados relacionais e NoSQL (PostgreSQL, MongoDB, Redis)
- Containers e CI/CD
- Microsoft Azure como plataforma de cloud
Onde se espera consumidor consciente da plataforma
Não esperamos que essa pessoa seja a dona da plataforma de cloud, do cluster ou da stack de observabilidade. Esperamos autonomia para diagnosticar, operar e tomar boas decisões de design sobre o que afeta o serviço dela:
- Kubernetes — uso de linha de comando no dia a dia (logs, exec, port-forward, descrição de recursos), leitura de manifests, entendimento dos componentes essenciais. Suficiente para diagnosticar um problema e abrir uma issue precisa para a plataforma.
- Microsoft Azure — entender as primitivas de cloud usadas pelo serviço (armazenamento, mensageria, gestão de segredos, telemetria) o bastante para tomar boas decisões de design, sem necessidade de provisionar.
- Observabilidade — raciocínio sistêmico: correlacionar logs, métricas e traces, formular hipótese a partir de evidência, escolher o indicador certo para o problema, saber o que instrumentar e por que. Sem responsabilidade por operar a stack.
Onde se espera ler e executar
- Node.js — rodar serviços localmente, debugar, entender o fluxo
- Python — rodar workers e scripts, entender o que está sendo migrado
- Angular / Ionic — leitura e ajustes pontuais quando o problema cruza fronteira frontend/backend
Responsabilidades
- Evoluir o agente desktop em produção com foco em estabilidade, segurança, performance e paridade entre sistemas operacionais.
- Reduzir dívida técnica e elevar o padrão do código.
- Participar das migrações de serviços legados para a arquitetura .NET atual, com decisões orientadas por contrato e risco — não por reescrita cosmética.
- Atuar em troubleshooting de produção com método: hipótese, evidência e ação reversível.
- Apoiar, quando necessário, a análise de chamados de N2 e N3, com o compromisso de gerar base de conhecimento a cada caso resolvido — de forma que novos acionamentos da mesma natureza sejam tratados nos níveis anteriores e parem de escalar para N3.
- Conduzir code reviews que ensinam, refinamentos com decomposição clara e documentação útil.
- Apoiar desenvolvedores plenos e juniores sem virar gargalo.
- Contribuir para um ambiente local replicável onde qualquer pessoa do time consiga rodar a plataforma inteira sem dor.
Hard skills obrigatórias
Desenvolvimento
- C# em nível avançado, com base sólida em .NET
- Experiência com aplicações .NET rodando em mais de um sistema operacional — não apenas Windows
- APIs REST, integração HTTP e processamento assíncrono
- Concorrência e padrões de resiliência em sistemas distribuídos
- Mensageria assíncrona e padrões associados (idempotência, dead-letter, ordenação)
Bancos de dados
- Modelagem relacional e NoSQL
- Otimização de queries
- Estratégias de cache
Qualidade
- Testes unitários e de integração como parte do fluxo, não como tarefa separada
- Code review como ferramenta de elevação do time
- Histórico de Git inteligível
Segurança
- Gestão de segredos
- Secure coding e OWASP
- Atenção ao contexto desktop: distribuição assinada, atualização segura e proteção de credenciais locais
Outras stacks (no nível "ler e executar")
- Capacidade comprovada de ler e rodar Node.js e Python para entender o comportamento de um serviço a ser migrado
Diferenciais
- Experiência com agentes ou serviços rodando em endpoint do cliente (não apenas servidor)
- Experiência com frotas distribuídas e telemetria em larga escala
- Vivência com SaaS multi-tenant
- Vivência com plataformas enterprise B2B
- Experiência prévia com migrações de stack sem reescrita big-bang
- Arquitetura orientada a eventos
- Uso de IA e code agents no ciclo de desenvolvimento
Soft skills
Buscamos uma pessoa que:
- Discuta soluções com arquitetos sem ego — defenda posições com dados, mude de ideia diante de argumento melhor.
- Traduza complexidade técnica para negócio.
- Colabore real com QA, SRE, UX e produto, sem virar silo.
- Peça ajuda cedo, compartilhe contexto e evite heroísmo.
- Tenha ownership: investigue causa raiz e traga proposta junto do diagnóstico.
- Tenha maturidade sob pressão: em incidente, priorize fato, log e evidência; ação reversível antes de ação heroica.
- Tenha mentalidade de produto: questione requisitos quando preciso.
- Tenha humildade técnica: ensine, aprenda, faça code review para elevar pessoas.
- Tenha pragmatismo: arquitetura que entrega vence arquitetura bonita.