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.