iFood

iOS Software Engineer Sênior

iFood Osasco, São Paulo, Brazil

Software Development · 5,001-10,000 employees

10 h ago
ios Senior (5-10 yrs) Full-time Brazil
Create a free account to apply — email only, no card. You can also save this posting or score it against your profile with AI.

About the role

You will be responsible for developing and maintaining high-scale iOS applications while ensuring code quality and performance. You will also collaborate with product, design, and backend teams to deliver innovative features and lead architectural decisions.

What they look for

Swift Objective-C Xcode UIKit SwiftUI VIPER MVVM SOLID GCD Swift Concurrency Instruments Unit Testing CI/CD Fastlane REST APIs Analytics

Requirements

The role requires extensive experience with Swift, UIKit, and modern architectural patterns like MVVM and VIPER. Candidates must have a strong background in performance optimization, concurrency, and automated testing within large-scale mobile projects.

Full 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.

Similar roles