Ios Software Engineer Sênior
Ifood
São Paulo
- Proficiência em Swift, com domínio das versões mais recentes da linguagem.
- Familiaridade com Objective-C para interoperabilidade e manutenção de código legado.
- Conhecimento e aplicação dos princípios SOLID no dia a dia.
- Entendimento de heap e stack, e impacto de struct vs class na performance.
- Boas práticas de Clean Code e design patterns.
- Experiência com 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.
- 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.
- 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.
- Uso de ferramentas de análise estática como SwiftLint.
- Cultura de Code Review, feedback técnico e melhoria contínua.
- 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.
- Conhecimento em CocoaPods, Swift Package Manager e outros gerenciadores de dependência.
- Experiência sólida com consumo de APIs REST, tratamento de erros, modelos de dados.
- Conhecimento em consumo de GraphQL.
- Conhecimento em Remote Configs, Feature Toggles / Flags.
- Vivência com ferramentas de Analytics (Firebase Analytics, Amplitude, Mixpanel), A/B tests e monitoramento de métricas.
- Uso de ferramentas de crash reporting como Crashlytics, Sentry, Bugsnag.
- Uso de ferramentas de observabilidade como Datadog e Firebase.
- Aplicar criptografia (Keychain, Secure Enclave) na proteção de dados sensíveis.
- Conhecimento de OWASP MASVS e LGPD, integrando segurança em todas as etapas do ciclo.
- Conhecimento mínimo de back-end para atuar em BFFs: modelar e ajustar endpoints e agregações que atendem o app, colaborando com times de back-end.
- Modelar e otimizar persistência local (Core Data/SwiftData) e cache, incluindo noções no BFF.
- Mentalidade de produto: entende e contribui com o impacto da tecnologia no negócio.
- Visão de Produto: traduzir necessidades reais em soluções técnicas e medir o sucesso do que é entregue.
- Orientação a Dados: decidir com base em métricas e monitorar cada feature contra seus objetivos.
- Decomposição de Problemas: quebrar problemas complexos em tarefas de alto impacto, aplicando a regra 80/20.
- Proatividade e ownership: cuida do código como se fosse seu.
- Comunicação Técnica: expressar ideias técnicas com clareza (RFCs, ADRs, diagramas, apresentações), adaptando a mensagem ao público.
- Liderança técnica: capacidade de liderar ou colaborar em decisões arquiteturais, influenciar o time e mentorar desenvolvedores.
- Operação: monitorar, alertar e responder rapidamente a problemas em produção, com post-mortems e mecanismos de rollout (feature flags, phased releases).
- Comunicação clara com times de produto, design e backend.
- Participação em mentorias, code dojos e partilhas de conhecimento.
- Experiência prévia em fintech, bancos ou pagamentos.
- Segurança de aplicações móveis (AppSec, OWASP MASVS).
- Experiência com IA e machine learning.
- Conhecimento de infraestrutura: cloud, containers e infraestrutura como código para apoiar o ambiente do app.
- 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 jobs
Sr. Account Executive
Who We AreAddepar is a global data and AI platform empowering investment professionals to turn complex financial information into actiona...
Especialista Em Business Management & Performance
Somos o PANÁgeis, flexíveis e criativos, exploramos possibilidades com disposição e desejo de fazer acontecer. Sempre prontos para encara...
Customer Success Analyst
Você deveria fazer parte do JusbrasilTransformar o sistema de Justiça com tecnologia não é trivial. Estamos construindo uma inteligência ...
Especialista De Produtos - (Consignado)
Somos o PANÁgeis, flexíveis e criativos, exploramos possibilidades com disposição e desejo de fazer acontecer. Sempre prontos para encara...
Delivery Manager - Professional Services
Sobre a BlipSomos uma empresa global de tecnologia e líderes em conversational commerce na América Latina, oferecendo soluções SaaS que p...
Analista De Produtos Pl. - (Consignado)
Somos o PANÁgeis, flexíveis e criativos, exploramos possibilidades com disposição e desejo de fazer acontecer. Sempre prontos para encara...