Engenheiro de Software BackEnd Pleno

iFoodBrazilOn-siteFull-timeMid level, 2–5 yearsListed 3 days ago

Apply now

About this role

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.

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ê!