Engenheiro de Software BackEnd Pleno

Empresa: iFood

Buscamos uma pessoa apaixonada por segurança em tecnologia, que esteja sempre em busca de novos aprendizados e que goste de desafios. Se você se identifica com este perfil, adoraríamos conhecer você! Sobre a empresa: Nosso Modo de Fazer no Time: Transforme sua carreira com o iFood! Somos uma empresa brasileira de tecnologia referência na América Latina. Por meio de soluções inovadoras, conectamos milhares de restaurantes a milhões de consumidores diariamente com uma média de 100 milhões de pedidos mensais. Além do delivery de comida, também somos Mercado, Farmácia e Pet. Temos também o iFood Pago, nossa Fintech, que engloba o iFood Benefícios, o vale alimentação e refeição do iFood e o próprio iFood Pago, o banco do restaurante. Junte-se a nós e faça parte de uma equipe que está sempre à frente com tecnologia de ponta e inovação constante. Seu Cardápio Diário: • Projetar, desenvolver e manter microsserviços e consumidores de eventos (Kafka) com foco em idempotência, resiliência e observabilidade, orquestrando o envio de mensagens em escala (push, WhatsApp, SMS, RCS) via provedores externos com abstrações que permitam troca, fallback e roteamento inteligente entre canais; • Aplicar arquitetura hexagonal (ports & adapters), SOLID, design patterns e princípios de Clean Code em entregas de ponta a ponta, propondo e documentando decisões técnicas em RFCs e ADRs; • Implementar APIs REST documentadas com OpenAPI/Swagger, garantindo comunicação segura via TLS/mTLS e controle de acesso entre times consumidores da plataforma; • Projetar e manter integrações event-driven usando Kafka ou Kinesis, incluindo pipelines de ingestão de dados, governança de consistência e tratamento de divergências entre fontes com latências diferentes; • Modelar dados em SQL (PostgreSQL) e NoSQL (DynamoDB, Redis, MongoDB) para alta disponibilidade, incluindo otimização de queries, índices, estratégias de caching e tratamento de inconsistências; • Entregar qualidade por meio de TDD e pipelines de testes automatizados (unitários, integração, contrato e e2e), code reviews rigorosos e análise estática (lint, SonarQube), mantendo cobertura adequada dos serviços sob sua responsabilidade; • Construir observabilidade e operação com OpenTelemetry, Prometheus, Datadog e Sentry: dashboards, alertas, tracing distribuído e respostas a incidentes com post-mortem e atuação na causa raiz, não apenas no sintoma; • Aplicar padrões de resiliência como circuit breaker, health checks, self-healing, exponential backoff e feature flags, além de estratégias de deployment canary/blue-green e automação em CI/CD; • Operar serviços em produção com ownership total: participar do on-call rotation, monitorar SLOs (disponibilidade e latência), investigar incidentes em war-rooms e sustentar a comunicação com times consumidores durante falhas; • Habilitar e dar onboarding a times consumidores da plataforma — mapear jornada, atributos de leitura/escrita, volumetria (média/pico), conceder permissões e emitir credenciais de acesso de forma segura; • Investigar e resolver problemas de produção da plataforma de dados de entidade, usando evidência de dados para confirmar hipóteses antes de propor correções; • Atuar como ponte entre os times consumidores e a engenharia de plataforma, prestando suporte técnico consultivo, triando o canal de suporte e escalando o que exige engenharia; • Usar ferramentas de IA generativa e LLMs para acelerar desenvolvimento, automação e revisão de código, mantendo mentalidade IA-First e revisando criticamente os resultados gerados; • Assumir ownership de serviços críticos, elevar o padrão técnico do time através de mentoreamento, code reviews e compartilhamento de conhecimento em fóruns, e entregar onboarding técnico e primeiras features dentro dos primeiros seis meses. Ingredientes Que Buscamos: • Domínio em ao menos uma stack backend (Kotlin/Spring Boot/Ktor ou Go); experiência em ambas é fortemente desejável; • Conhecimento sólido em arquitetura hexagonal (ports & adapters), SOLID, design patterns e Clean Code; • Experiência com sistemas distribuídos: filas/streaming (Kafka), APIs REST, idempotência, tratamento de falhas, coreografia de microservices e desacoplamento de produtores/consumidores; • Experiência com cloud native na AWS (EC2, S3, Kinesis, EKS/Kubernetes) e orquestração em Kubernetes (EKS); • Familiaridade com bancos SQL (PostgreSQL) e NoSQL (DynamoDB, Redis, MongoDB), incluindo modelagem, otimização de queries e índices, estratégias de caching e replicação; • Práticas sólidas de qualidade de código: TDD, testes automatizados (unitários, integração, e2e, contrato), code review e CI/CD; • Instrumentação e monitoramento com OpenTelemetry, Prometheus, Datadog e Sentry para rastreamento de erros, performance e análise de incidentes em produção; • Experiência com padrões de resiliência (circuit breaker, health checks, retries com backoff exponencial), feature flags e estratégias de deployment (canary, blue-green); • Habilidade para investigar incidentes em produção com rigor analítico, usando evidência de dados (Databricks, DynamoDB, Redis, logs/telemetria) para confirmar hipóteses antes de propor correções; • Experiência com governança de acesso, autenticação entre serviços, Vault e controle de permissões; • Mentalidade IA-First, foco em produtos data-driven, autonomia, mentalidade de dono, comunicação direta e priorização 80/20; • Habilidade para decompor problemas complexos, transformar requisitos de negócio em entregas de alto impacto e comunicar decisões técnicas a múltiplas audiências (técnicas e não técnicas); • Inglês técnico para leitura e escrita. Para Realçar o Sabor: • Familiaridade com arquiteturas de agentes e AI Workflow (LangGraph, OpenAI Agents SDK, CrewAI); • Conhecimento em RAG, MCP e orquestração de agentes para soluções IA-Native; • Experiência com ferramentas de IA generativa como Claude Sonnet, Gemini, Cursor, Claude Code, Copilot e Windsurf; • Experiência com IA e machine learning aplicadas a produtos e automação; • Domínio em Go como diferencial adicional; • Práticas avançadas de otimização de performance em nuvem, tuning de aplicações para melhor custo e latência; • Familiaridade com Domain-Driven Design (DDD) e event storming; • Experiência com pipelines de dados em larga escala (Databricks, Spark) e processamento batch/streaming.

Ver todas as vagas