Engenheiro(a) de Software Sênior — .NET / Desktop Cross-PlatformHíbrido/ Local BarueriSobre a oportunidadeBuscamos 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-chaveOnde 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 cloudOnde se espera consumidor consciente da plataformaNã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/backendResponsabilidades- 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óriasDesenvolvimento- 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 cacheQualidade- 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ívelSeguranç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 locaisOutras 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 migradoDiferenciais- 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 desenvolvimentoSoft skillsBuscamos 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.