Hiring.Camp

iOS Software Engineer Sênior

iFood

·

Today

Location
Brasil · Av. dos Autonomistas - Vila Yara, Osasco - SP
Department
ENGENHARIA DINE-IN | BU SALAO
Source
Greenhouse

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 LayoutView 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)DispatchGroupDispatchQueue, 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 letTaskGroup, 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áriostestes 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 FastlaneGitLab 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 ConfigsFeature 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 CrashlyticsSentryBugsnag.
  • 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 mentoriascode 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 TypesType 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.

Skills

SwiftObjective-CFirebaseGitLabiOSREST
iOS Software Engineer Sênior at iFood | Hiring.Camp