ifoodcarreiras · São Paulo · Av. dos Autonomistas - Vila Yara, Osasco - SP
<p></p> <div id="C0C9SE6BTN1-1792179278.825969-thread-list-Thread_1792187698.176869"> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div><strong>Nosso Modo de Fazer no Time:</strong><br>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.</div> <div> </div> <div><strong>Seu Cardápio Diário</strong><br>Buscamos um(a) Desenvolvedor(a) iOS Sênior para atuar em produtos bancários e de pagamentos do iFood Pago, com domínio da plataforma iOS e capacidade de entrega ponta a ponta. Você colaborará com produto, design, segurança e demais times de engenharia, com atuação mínima em BFFs (Backend for Frontend) para viabilizar as integrações do app.<br>É 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.<br>Você fará parte de um time que constrói produtos financeiros em escala, onde segurança, performance e confiabilidade não são opcionais — são o produto.</div> <div> </div> <div><strong>Ingredientes que Buscamos</strong><br><strong>Linguagem e Fundamentos</strong></div> <ul> <li>Proficiência em <strong>Swift</strong>, com domínio das versões mais recentes da linguagem.</li> <li>Familiaridade com <strong>Objective-C</strong> para interoperabilidade e manutenção de código legado.</li> <li>Conhecimento e aplicação dos princípios <strong>SOLID</strong> no dia a dia.</li> <li>Entendimento de <strong>heap e stack</strong>, e impacto de <strong>struct vs class</strong> na performance.</li> <li>Boas práticas de <strong>Clean Code</strong> e design patterns.</li> </ul> <div><strong>Arquitetura e UI</strong></div> <ul> <li>Experiência com design patterns de UI: <strong>VIP, MVC, MVVM, MVVM-C e VIPER</strong>.</li> <li>Capacidade de escolher a melhor arquitetura conforme o problema, considerando trade-offs, escalabilidade, testabilidade e manutenção.</li> <li><strong>Domínio em componentização e modularização</strong> do código para projetos de larga escala.</li> <li><strong>Domínio em Auto Layout, View Code (UIKit)</strong> e experiência com <strong>SwiftUI</strong>.</li> <li>Capacidade de construir interfaces responsivas, performáticas e acessíveis.</li> <li>Compreensão profunda do <strong>ciclo de vida do UIKit</strong> e otimizações de performance visual.</li> </ul> <div><strong>Concorrência e Performance</strong></div> <ul> <li>Conhecimento sólido sobre <strong>GCD</strong> (Grand Central Dispatch), <strong>DispatchGroup, DispatchQueue</strong>, concorrência e problemas de <strong>thread safety</strong>.</li> <li>Preferencialmente familiar com o novo modelo do <strong>Swift Concurrency</strong> (<code>async/await</code>).</li> <li>Gerenciamento de múltiplas chamadas assíncronas simultâneas com <code>async let</code>, <code>TaskGroup</code>, etc.</li> <li>Uso correto do <strong>MainActor</strong> para isolar chamadas relacionadas à UI.</li> <li>Entendimento dos benefícios e cuidados ao misturar <strong>GCD e Swift Concurrency</strong>.</li> <li>Experiência com <strong>profiling de performance</strong> e ferramentas como <strong>Instruments</strong>.</li> <li>Capacidade de <strong>debugar problemas complexos de performance</strong> em apps em produção.</li> </ul> <div><strong>Testes e Qualidade</strong></div> <ul> <li>Escrita de <strong>testes unitários, testes de UI e snapshot testing</strong>.</li> <li>Conhecimento de estratégias como <strong>TDD e BDD</strong>.</li> <li>Sabe evitar testes frágeis (flaky tests) e criar componentes testáveis e reutilizáveis.</li> <li>Uso de ferramentas de análise estática como <strong>SwiftLint</strong>.</li> <li>Cultura de <strong>Code Review</strong>, feedback técnico e melhoria contínua.</li> </ul> <div><strong>CI/CD e Distribuição</strong></div> <ul> <li>Prática com <strong>Integração Contínua (CI)</strong> e <strong>Distribuição Contínua (CD)</strong>.</li> <li>Conhecimento em <strong>Fastlane, GitLab CI</strong>, ou similares.</li> <li>Experiência com automação de builds, deploys e análise de código.</li> <li>Conhecimento em <strong>CocoaPods, Swift Package Manager</strong> e outros gerenciadores de dependência.</li> </ul> <div><strong>APIs, Dados e Observabilidade</strong></div> <ul> <li>Experiência sólida com consumo de