Engenharia · Não informado

iOS Software Engineer Sênior

iFoodBrasil

Leitura do anúncio

Visão do techjobs

A vaga é para iOS Software Engineer Sênior na iFood. O modelo informado é não informado; localidade: Brasil. Domínio em componentização e modularização do código para projetos de larga escala. Domínio de boas práticas de estruturação de projetos grandes e manutenção em grandes bases de código.

Resumo automático baseado somente nas informações publicadas pela empresa.

Sinais da vaga

O que mais pesa no anúncio

Uma leitura objetiva dos conhecimentos e níveis mais relevantes para esta oportunidade.

  1. Engenharia de software

    Muito alta · 5/5

    No título da vaga · 2 menções

  2. Senioridade · Sênior

    Muito alta · 5/5

    Nível indicado no título

  3. Dados e analytics

    Média · 3/5

    Na descrição · 3 menções

  4. Design e pesquisa

    Média · 3/5

    Na descrição · 3 menções

Escala de 1 a 5. Mede presença e posição no anúncio; não mede sua chance de contratação.

Descrição completa

Contexto da oportunidadeAbrirFechar

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.

Continue explorando

Vagas da mesma área