Ciandt
[Job 29232] Senior Node/React Developer, Rio de… at Ciandt · Rio de…
ExperiencedOn-siteFull-timeRio de Janeiro, Rio de Janeiro, Brazil
Job Description
Somos especialistas em transformação tecnológica , unindo expertise humana à IA para criar soluções tech escaláveis. Com mais de 8,000 CI&Ters ao redor do mundo, já formamos parcerias com mais de 1,000 clientes durante nossos 30 anos de história. Inteligência Artificial é nossa realidade. Importante : se você reside na Região Metropolitana de Campinas, sua presença nos escritórios da cidade será obrigatória, conforme a política de frequencia vigente. Sua missão: Atender junto com a CI&T um cliente do mercado de Mídia; Procurar sempre criar para o produto a melhor experiência de uso para o usuário final; Escrever código limpo, com cobertura de testes, de fácil manutenção, utilizando as melhores práticas de desenvolvimento de software; Projetar soluções usando frameworks apropriados; Identificar oportunidades de melhoria; Trabalhar de forma colaborativa com outros membros da equipe, incluindo desenvolvedores, designers e stakeholders, para garantir o sucesso dos projetos; Fazer revisões de código, tanto como revisor quanto como autor, garantindo a qualidade e funcionalidade das features desenvolvidas; Garantir um ambiente de desenvolvimento estável e produtivo; Abertura para aprender como usar ferramentas amplamente adotadas na pilha de tecnologia; Participar ativamente na resolução de problemas complexos, identificando oportunidades de melhoria e propondo soluções inovadoras; Conseguir acompanhar o comportamento das aplicações em produção usando as principais métricas de saúde e performance disponíveis nas ferramentas de monitoração. Buscar insights de melhorias e entender anomalias em função dessas métricas. Requisitos: Disponibilidade para o trabalho híbrido no Rio de Janeiro/RJ. Conhecimentos sólidos de JavaScript e domínio dos paradigmas OO e funcional da linguagem; Conhecimentos sólidos do sistema de controle de versão git; Conhecimentos sólidos de HTML e CSS; Experiência com design responsivo (media queries, propriedades relativas, flexbox, css grid); Conhecimentos sólidos de NodeJS/npm; Conhecimentos sólidos em design de APIs REST (Preferencialmente com o framework Express); Visão sobre design patterns (Criacional, Estrutural e Comportamental); Domínio de boas práticas de desenvolvimento de software (DRY, KISS, TDA, SoC, SOLID); Visão do modelo arquitetural de micro-serviços; Conhecimentos sólidos da biblioteca React; Conhecimentos sobre Context API; Conhecimentos sobre a biblioteca Redux e seu uso para controle de estado com React; Conhecimento em SPAs entregues via Server Side Render; Conhecimentos e vivência em Testes Unitários em JavaScript e Jest; Experiência com alguma ferramenta de CI/CD (Preferencialmente gitlab ci); Familiaridade com ferramentas de hint/lint (Preferencialmente ESLint); Conhecimentos sobre containers, como Docker por exemplo; Somos especialistas em transformação tecnológica, unindo expertise humana à IA para criar soluções tech escaláveis. Com mais de 8,000 CI&Ters ao redor do mundo, já formamos parcerias com mais de 1,000 clientes durante nossos 30 anos de história. Inteligência Artificial é nossa realidade. Importante: se você reside na Região Metropolitana de Campinas, sua presença nos escritórios da cidade será obrigatória, conforme a política de frequencia vigente. Sua Missão: Atender junto com a CI&T um cliente do mercado de Mídia; Escrever código limpo, de fácil manutenção, utilizando as melhores práticas de desenvolvimento de software; Projetar soluções usando frameworks apropriados; Identificar oportunidades de melhoria de forma consistente, incluindo melhorias de arquitetura, padrões, experiência de desenvolvimento e experiência de usuário; Trabalhar de forma colaborativa com outros membros da equipe, incluindo desenvolvedores, designers, QA e stakeholders, para garantir o sucesso dos projetos; Fazer revisões de código e fornecer feedbacks construtivos; Garantir um ambiente de desenvolvimento estável e produtivo; Abertura para aprender como usar ferramentas amplamente adotadas na pilha de tecnologia; Manter-se conectado com as atualizações da linguagem Swift e explorar como aplicá-las dentro do time; Participar ativamente na resolução de problemas complexos, identificando oportunidades de melhoria e propondo soluções inovadoras; Mentorar e compartilhar conhecimento com desenvolvedores mais juniores, alavancar suas jornadas e auxiliar proativamente o time; Monitorar e corrigir crashes reportados pelo Firebase Crashlytics, incentivando a cultura de qualidade e incidentes dentro do time; Quebrar features complexas em pedaços testáveis e incrementais, utilizando técnicas como feature flags; Refatorar código legado de maneira incremental e realizar onboarding de novas pessoas; Requisitos da vaga: Proficiência em Apple e total domínio da linguagem Swift 5+, incluindo conhecimento de temas complexos e capacidade analítica para propor refactorings complexos Padrões de Projeto: Profundo conhecimento em VIPER (principalmente) e suas variações, bem como familiaridade com MVVM, MVP e outros padrões como Facade, Adapter, Factory, Singleton, Builder, Abstract SwiftUI como principal framework de UI, incluindo conhecimento em Threads UIKit com domínio aprofundado e otimização de hierarquia de views Swift Concurrency (async/await, Actor) Controle de Versão GIT com profundo conhecimento, incluindo GitFlow e autonomia para lidar com questões avançadas (editar commits, remover commits, mover commits entre branches) Cocoapods e Swift Package Manager (SPM) para gerência de dependências, com autonomia para criar e manter bibliotecas GraphQL com Apollo iOS, incluindo conceitos aprofundados como fragments, operações em queries (union, etc), Interceptors, Headers e Response CI/CD com Xcode Cloud, GitLab CI ou Fastlane, incluindo capacidade de construir pipelines Testes Unitários com XCTest e Swift Testing, com técnicas de snapshot testing Firebase Crashlytics e Google Analytics Networking: HTTP requests, parsing de JSON/XML, programação assíncrona com GCD (DispatchQueue, OperationQueue), Async Await Memória e Performance: Gestão de memória com Automatic Reference Counting (ARC), propriedades lazy, variáveis computadas, weak/strong/unowned references Xcode com maestria, incluindo atalhos, recursos de depuração (layout, rede, recursos) e ferramentas de apoio (SPM, Xcodegen, Instruments) Design System e criação de componentes escaláveis em projetos de larga escala Metodologias Ágeis (Scrum, Kanban) e ferramentas como Jira Será um diferencial se você possuir: Conhecimento de outras linguagens de apoio, como linguagens de automatização para CI (Ruby, Python, etc) Entendimento do workflow de integração do Bitrise Capacidade de apresentar temas do universo Apple para o time interno ou externo Conhecimentos básicos em segurança (persistência de dados, HTTPS e mecanismos de autenticação)