iOS Software Engineer Sênior
iFood
- Location
- Brasil
- Work model
- On-Site
- Level
- Mid
- Posted
- 1h ago
Skills
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
• É 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 <strong