iOS Software Engineer Sênior
ifoodcarreiras
Brasil
Posted Sep 9, 2026
- Other
- ENGENHARIA DINE-IN | BU SALAO
Job description
## 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 - É desejável que a pessoa tenha boa desenvoltura para tomada de decisões do dia a dia, além de um conhecimento técnico amplo e uma preocupação com qualidade, boas práticas e esteja sempre buscando formas diferentes e inovadoras de se resolver problemas. ## Ingredientes que buscamos - Experiência com **Cardstack**e vivência com Migrações. - Proficiência em **Swift**, com domínio das **versões mais recentes** da linguagem. - Familiaridade com **Objective-C**.Uso de **Xcode** e ferramentas de debugging avançado. - Conhecimento em **CocoaPods, Swift Package Manager** e outros gerenciadores de dependência. - Experiência design patterns de UI **VIP, MVC, MVVM, MVVM-C e VIPER**. - Capacidade de **escolher a melhor arquitetura** conforme o problema, considerando **trade-offs, escalabilidade, testabilidade e manutenção**. - Conhecimento e aplicação dos **princípios SOLID** no dia a dia. - Domínio em **componentização** e **modularização** do código para projetos de larga escala. - Domínio em **Auto Layout**, **View Code (UIKit)** e experiência com **SwiftUI**. - Capacidade de construir interfaces responsivas, performáticas e acessíveis. - Compreensão profunda do ciclo de vida do UIKit e otimizações de performance visual. - Conhecimento sólido sobre **GCD (Grand Central Dispatch)**, **DispatchGroup**, **DispatchQueue**, concorrência e **problemas de thread safety**. - Preferencialmente familiar com o**novo modelo do Swift Concurrency (**`async/await`**).** - Gerenciamento de **múltiplas chamadas assíncronas simultâneas** com `async let`, `TaskGroup`, etc. - Uso correto do `MainActor` para isolar chamadas relacionadas à UI. - Entendimento dos benefícios e cuidados ao **misturar GCD e Swift Concurrency**. - Entendimento de **heap e stack**, e impacto de `struct` vs `class` na performance. - Experiência com **profiling de performance** e ferramentas como **Instruments**. - Capacidade de **debugar problemas complexos de performance** em apps em produção. - Escrita de **testes unitários**, **testes de UI** e **snapshot testing**. - Conhecimento de estratégias como **TDD** e **BDD**. - Sabe evitar testes frágeis (flaky tests) e **criar componentes testáveis e reutilizáveis**. - Prática com **Integração Contínua (CI)** e **Distribuição Contínua (CD)**. - Conhecimento em **Fastlane**, **GitLab CI,** ou similares. - Experiência com **automação de builds**, deploys e análise de código. - Experiência sólida com **consumo de APIs REST**, tratamento de erros, modelos de dados. - Conhecimento em **Remote Configs**, **Feature Toggles / Flags**. - Vivência com ferramentas de **Analytics** (Firebase Analytics, Amplitude, Mixpanel, etc), A/B tests e monitoramento de métricas. - Uso de ferramentas de **crash reporting** como **Crashlytics**, **Sentry**, **Bugsnag**. - Boas práticas de **Clean Code** e **design patterns**. - Uso de ferramentas de análise estática como **SwiftLint**. - Cultura de **Code Review**, feedback técnico e melhoria contínua. - **Mentalidade de produto**: entende e contribui com o impacto da tecnologia no negócio. - **Proatividade e ownership**: cuida do código como se fosse seu. - **Comunicação clara** com times de produto, design e backend. - Participação em **mentorias**, **code dojos**, e partilhas de conhecimento. - Capacidade de liderar ou colaborar em **decisões arquiteturais**.. ## Para realçar o Sabor - Experiência com ferramentas avançadas de modularização como **Bazel** ou **Buck**. - Conhecimento em **programação orientada a protocolos (POP)**, incluindo **Associated Types**, **Type Erasure** e uso avançado de **Generics**. - Domínio de boas práticas de **estruturação de projetos grandes** e manutenção em **grandes bases de código**. - Contribuições open source, talks, artigos ou participação ativa na comunidade iOS.