Descrição da Vaga
Atuação em empresa do segmento de Rádio e TV, integrando uma equipe responsável pelo desenvolvimento, evolução e sustentação de aplicações iOS de alta relevância para o negócio. O profissional atuará em projetos de grande escala (envolvendo ecossistemas iOS e tvOS), contribuindo para a construção de experiências digitais robustas, performáticas e alinhadas às necessidades dos usuários.
Buscamos um profissional com sólida experiência em desenvolvimento nativo Apple, capacidade analítica avançada e perfil colaborativo, que atue como referência técnica para o time, contribuindo para a evolução das soluções, disseminação de boas práticas e mentoria de desenvolvedores mais juniores.
A posição exige visão de arquitetura evolutiva, comprometimento com qualidade de software, foco em performance, escalabilidade e melhoria contínua dos produtos e processos de desenvolvimento.
Responsabilidades e Atribuições
* Desenvolver e evoluir aplicações nativas iOS e tvOS utilizando as melhores práticas de engenharia de software;
* Atuar na análise, manutenção e evolução da arquitetura das aplicações, propondo melhorias e refatorações complexas ou totais quando necessário;
* Participar ativamente das definições técnicas e escolhas de arquiteturas de longo prazo dos projetos;
* Desenvolver código limpo, livre de code smells, reutilizável, escalável e alinhado aos padrões da equipe;
* Realizar revisões de código (Code Review) detalhadas e fornecer feedbacks ricos e sugestões de melhorias;
* Apoiar a implementação de soluções voltadas para performance, segurança, escalabilidade e observabilidade;
* Atuar na integração com APIs RESTful e GraphQL;
* Contribuir para a evolução dos processos de desenvolvimento, automação de esteiras e integração contínua (CI/CD);
* Monitorar e otimizar o desempenho das aplicações, identificando gargalos de memória (ARC), processamento e consumo de recursos de rede;
* Participar da definição, implementação e aumento da cobertura de testes unitários e estratégias de qualidade;
* Compartilhar conhecimento com o time por meio de mentorias, pareamentos (Pair-Programming) e disseminação de boas práticas;
* Apoiar o onboarding de novos profissionais e contribuir para o desenvolvimento técnico e acompanhamento da equipe;
* Trabalhar em conjunto com equipes multidisciplinares, incluindo Produto, UX/UI, QA e demais áreas envolvidas no ciclo de desenvolvimento.
Requisitos e Qualificações
Conhecimentos Técnico
* Experiência sólida com desenvolvimento Apple nativo utilizando a linguagem Swift;
* Conhecimento avançado e domínio aprofundado dos aspectos do UI Kit;
* Experiência profunda com arquitetura VIPER e conhecimento em outros padrões modernos (MVVM, MVP, VIP);
* Conhecimento em padrões de projetos (Facade, Adapter, Factory, Singleton, Builder, Abstract, entre outros);
* Experiência com conceitos de modularização de projetos e técnicas de Feature Flag;
* Conhecimento avançado em gerenciamento de dependências utilizando CocoaPods e SPM (Swift Package Manager);
* Experiência com concorrência e programação assíncrona utilizando GCD (DispatchQueue, OperationQueue, Async Await);
* Domínio em conceitos de rede como HTTP requests, parsing de JSON/XML, uso de Interceptors, Headers e Responses;
* Conhecimento avançado em controle de versão utilizando Git e fluxo GitFlow;
* Experiência com maestria na utilização da IDE Xcode e suas ferramentas de apoio (Xcodegen, Instruments);
* Conhecimento em testes unitários, testes manuais e utilização de bibliotecas de snapshotting;
* Experiência com o ecossistema de Integração Contínua (CI) e capacidade de construir pipelines;
* Conhecimento em Firebase, Google Analytics e acompanhamento/correção de incidentes via Crashlytics;
* Experiência com criação de interfaces performáticas e componentes escaláveis utilizando Design System;
* Conhecimento em diferentes técnicas de implementação de front-end (Storyboards, Xibs, AutoLayout, ViewCode e SwiftUI);
* Conhecimento em otimização de performance, eficiência energética e gestão de memória através do ARC (Automatic Reference Counting);
* Experiência com monitoramento e análise de desempenho utilizando Instruments e ferramentas de depuração de layout e rede;
* Conhecimento em conceitos básicos de segurança em persistência de dados, HTTPS e mecanismos de autenticação;
* Conhecimento em metodologias ágeis (Scrum e Kanban) e ferramentas de progresso de tarefas (Jira);
* Domínio de Clean Code e capacidade de argumentação técnica sobre fragmentos de código.
Diferenciais
* Experiência com SwiftUI e Threads de forma aprofundada;
* Experiência na construção de pipelines utilizando linguagens de automação de apoio (Ruby, Python, entre outras);
* Entendimento prático sobre o workflow de integração do Bitrise;
* Conhecimento em modularização de projetos utilizando XcodeGen ou similares;
* Conhecimento de padrões de design da Apple (identificar desvios de padrão);
* Experiência liderando projetos e iniciativas técnicas;
* Participação ativa na comunidade Apple com produção de conteúdo técnico, artigos, palestras ou apresentações;
* Contribuições ou PRs submetidos em repositórios expressivos da comunidade.
Competências Comportamentais
* Comunicação clara e assertiva (capacidade de transmitir mensagens técnicas em linguagem não técnica);
* Proatividade, senso de dono (Ownership) e escuta ativa;
* Facilidade para trabalho em equipe e colaboração multidisciplinar (interação com QA, UX, Design, Produto);
* Capacidade de mentoria, acompanhamento e desenvolvimento de profissionais;
* Perfil analítico e maturidade para mediar e resolver conflitos por meio de comunicação aberta;
* Capacidade de influenciar decisões técnicas de longo prazo e promover boas práticas de código limpo;
* Visão de produto (colocar-se no lugar da pessoa usuária) e identificar melhorias;
* Facilidade para atuar em ambientes dinâmicos de alta complexidade e entender o contexto do negócio de mídia;
* Comprometimento com prazos de entrega equilibrando o preciosismo técnico com o senso de urgência.
Requisitos Desejáveis
* Experiência entre 5 e 8 anos ou mais em desenvolvimento nativo Apple (iOS e tvOS);
* Vivência em projetos de larga escala com alto volume de tráfego de dados e acessos simultâneos;
* Experiência em liderança técnica, dinâmicas de pareamento, onboarding e acompanhamento de desenvolvedores;
* Interação frequente com equipes de Produto, UX/UI, QA e demais áreas de tecnologia;
* Experiência na definição, escolha e evolução de arquiteturas evolutivas móveis modernas.