Back to jobs

Desenvolvedor Full Stack | Remoto

Brazil - Sao Paulo

SOBRE A CAPCO 

A Capco é uma consultoria global de tecnologia e gestão especializada na transformação digital, oferecendo soluções inovadoras e orientadas por dados para um portfólio crescente de mais de 100 clientes globais, entre eles bancos, pagamentos, mercados de capitais, gestão de patrimônio e ativos, seguros e setor de energia.

Nos destacamos pela abordagem personalizada, focada na construção de parcerias estratégicas de longo prazo e na aceleração de iniciativas digitais. Nossa expertise ganha vida por meio dos Innovation Labs e da cultura premiada #BeYourselfAtWork, que valoriza a diversidade e o talento.

Com presença global nos principais centros financeiros - temos 40 escritórios nas Américas, Europa e Ásia-Pacífico - estamos comprometidos em oferecer soluções práticas e integradas, promovendo colaboração e confiança em cada projeto. Se criatividade e inovação são sua paixão, a Capco é ideal para você. Vamos te apoiar e ajudar a acelerar sua carreira!

Desenvolvedor Fullstack Especialista (APIs e integrações)

Responsabilidades

  • Projetar e implementar APIs robustas e soluções de integração com foco principal no back-end.
  • Analisar e melhorar a eficiência, escalabilidade e estabilidade dos sistemas back-end.
  • Garantir a qualidade do código através de revisões de código e implementação de melhores práticas de desenvolvimento.
  • Trabalhar em colaboração com equipes de produto e design para entender os requisitos do usuário e traduzi-los em soluções técnicas viáveis.
  • Gerenciar a integridade e segurança dos dados em todas as soluções desenvolvidas.
  • Participar apoiando os Arquitetos na definição e escolha de frameworks e ferramentas adequadas para o projeto.

Habilidades e Conhecimentos (Hard Skills)

Conhecimentos Fundamentais

  • Arquitetura de Microsserviços: Compreensão dos princípios de microsserviços, seus benefícios e desafios. Experiência com a construção e implantação de microsserviços é altamente desejável.
  • Mensageria: Conhecimento de sistemas de mensageria (Kafka, RabbitMQ, etc.) e padrões de integração assíncrona.
  • Bancos de Dados: Experiência com diferentes tipos de bancos de dados (relacionais como PostgreSQL, MySQL; NoSQL como MongoDB, Cassandra) e suas melhores práticas. Conhecimento de modelagem de dados e otimização de queries.
  • APIs:
      • Protocolos de Comunicação: Entendimento profundo de HTTP e outros protocolos relevantes.
      • Padrões de Projeto de APIs: RESTful, GraphQL, SOAP (embora menos comum para novas aplicações, pode ser relevante para integrações legadas).
      • Documentação de APIs: Experiência com ferramentas como Swagger/OpenAPI e práticas de documentação eficazes.
      • Versionamento de APIs: Estratégias para gerenciar diferentes versões de APIs.
  • Integrações:
      • Padrões de Integração: Conhecimento de Enterprise Integration Patterns (EIP).
      • Conectores e Adaptadores: Experiência com a integração de diferentes sistemas e formatos de dados.
  • DevOps e Infraestrutura:
      • Containers (Docker, Kubernetes): Familiaridade com conteinerização e orquestração de containers.
      • Cloud Computing (AWS, Azure, GCP): Experiência com serviços de nuvem para desenvolvimento e implantação de aplicações.
      • CI/CD (Continuous Integration/Continuous Delivery): Conhecimento de ferramentas e práticas de automação de build, teste e deploy.
      • Infraestrutura como Código (IaC): Desejável familiaridade com ferramentas como Terraform ou CloudFormation.
  • Segurança: Conhecimento de práticas de segurança em desenvolvimento de software e APIs (OWASP Top 10, prevenção de injeção, etc.).
  • Testes: Além dos testes específicos da linguagem, conhecimento de testes de integração, testes de contrato e testes de performance para APIs.
  • Monitoramento e Logging: Experiência com ferramentas de monitoramento de aplicações e logging (Prometheus, Grafana, ELK Stack, etc.).
  • Metodologias Ágeis: Familiaridade com metodologias ágeis como Scrum ou Kanban.

Fundamentos de Arquitetura:

  • Padrões de Arquitetura:
      • Microsserviços: Compreensão profunda dos princípios, benefícios, desafios e padrões de arquitetura de microsserviços (API Gateway, Circuit Breaker, Service Discovery, etc.).
      • Arquitetura Orientada a Eventos (EDA): Conhecimento de como projetar sistemas reativos e escaláveis utilizando eventos. Familiaridade com plataformas de mensageria e padrões como Event Sourcing e CQRS.
      • Arquitetura Monolítica vs. Distribuída: Capacidade de analisar os trade-offs entre diferentes abordagens arquiteturais e justificar a escolha em diferentes contextos.
      • Outros Padrões: Familiaridade com outros padrões como MVC, MVVM, Clean Architecture, Hexagonal Architecture e suas aplicações.

                  Princípios de Design de Software:

  • SOLID: Compreensão e aplicação dos princípios de Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation e Dependency Inversion.
  • DRY (Don't Repeat Yourself): Capacidade de identificar e eliminar código duplicado.
  • KISS (Keep It Simple, Stupid): Foco na simplicidade e clareza no design.

Modelagem e Documentação:

  • UML (Unified Modeling Language): Capacidade de criar e interpretar diagramas de caso de uso, diagramas de classe, diagramas de sequência, etc.
  • Documentação de Arquitetura: Habilidade de criar documentos claros e concisos que descrevam a arquitetura do sistema, suas decisões e justificativas.
  • Notações e Ferramentas de Modelagem: Familiaridade com diferentes notações e ferramentas para modelagem de software.

Arquitetura de APIs e Integrações:

  • Design de APIs:
      • Princípios de Design RESTful: Compreensão profunda dos princípios REST (stateless, client-server, cacheable, etc.) e como aplicá-los no design de APIs.
      • GraphQL: Conhecimento de GraphQL como alternativa ao REST, seus benefícios e desafios. Capacidade de projetar schemas GraphQL eficientes.
      • Padrões de Mensagens: Conhecimento de diferentes formatos de mensagens (JSON, XML, etc.) e suas aplicações.
      • Segurança de APIs: Compreensão e implementação de mecanismos de segurança como autenticação (OAuth 2.0, JWT), autorização (RBAC, ABAC), criptografia e prevenção de ataques comuns (injeção, etc.).
      • Gerenciamento de APIs: Noções de API Gateways, rate limiting, versionamento, monitoramento e análise de APIs.
  • Padrões de Integração:
      • Enterprise Integration Patterns (EIP): Conhecimento e aplicação de padrões como Message Queue, Message Broker, Content-Based Router, Transformer, etc.
      • Arquiteturas de Integração: Conhecimento de diferentes abordagens de integração (ponto a ponto, barramento de serviços - ESB, etc.) e seus trade-offs.

Escalabilidade, Performance e Resiliência:

  • Escalabilidade:
      • Escalabilidade Horizontal vs. Vertical: Compreensão das diferenças e como projetar sistemas para escalar de forma eficiente.
      • Load Balancing: Conhecimento de técnicas e ferramentas de balanceamento de carga.
      • Caching: Estratégias de caching em diferentes camadas da aplicação.
  • Performance:
      • Identificação de Gargalos: Capacidade de analisar e identificar pontos de estrangulamento de performance em sistemas.
      • Otimização de Código e Consultas: Conhecimento de técnicas de otimização de código e consultas a bancos de dados.
      • Profiling e Monitoramento de Performance: Familiaridade com ferramentas de profiling e monitoramento de performance.
  • Resiliência:
      • Padrões de Resiliência: Conhecimento e aplicação de padrões como Circuit Breaker, Retry, Fallback.
      • Tratamento de Falhas: Estratégias para lidar com falhas em sistemas distribuídos e garantir a continuidade do serviço.
      • Monitoramento e Alertas: Implementação de sistemas de monitoramento e alertas para identificar e responder a problemas rapidamente.

 

Profundidade em NodeJS:

  • Event Loop e Arquitetura Non-blocking I/O: Entendimento avançado de como o NodeJS funciona internamente e como otimizar aplicações para alta concorrência.
  • Ecossistema NodeJS: Domínio de frameworks populares como Express.js, NestJS, Koa.js e suas melhores práticas.
  • Gerenciamento de Pacotes (npm/Yarn): Conhecimento avançado de como gerenciar dependências, versionamento semântico e segurança de pacotes.
  • Async/Await e Promises: Compreensão profunda de programação assíncrona e como lidar com operações I/O de forma eficiente.
  • Streams: Conhecimento e experiência com diferentes tipos de streams e seus casos de uso.
  • Testes: Experiência com frameworks de teste como Jest, Mocha, Chai e conhecimento de diferentes tipos de testes (unitários, integração, e2e).
  • Type Checking (TypeScript): Desejável experiência com TypeScript e seus benefícios em projetos de grande escala.
  • Performance e Otimização: Técnicas para identificar e resolver gargalos de performance em aplicações NodeJS.
  • Construção de APIs RESTful e GraphQL: Experiência comprovada na criação de APIs robustas, escaláveis e bem documentadas.
  • Tratamento de Erros e Resiliência: Estratégias para lidar com falhas e garantir a estabilidade das integrações.

Habilidades Comportamentais (Soft Skills):

Embora o foco seja técnico, para um papel especialista em uma empresa de grande porte, algumas habilidades comportamentais são cruciais:

  • Comunicação: Habilidade de comunicar ideias técnicas de forma clara e eficaz para diferentes públicos (técnicos, não técnicos, stakeholders).
  • Resolução de Problemas: Capacidade de diagnosticar e solucionar problemas complexos em sistemas distribuídos.
  • Trabalho em Equipe: Habilidade de colaborar efetivamente com outros desenvolvedores, arquitetos, analistas e outras áreas.
  • Liderança Técnica (Informal): Capacidade de guiar e mentorar outros membros da equipe.
  • Aprendizado Contínuo: Disposição para aprender novas tecnologias e se manter atualizado com as últimas tendências.
  • Visão Sistêmica: Capacidade de entender como as diferentes partes do sistema se interconectam e o impacto das decisões em todo o sistema.

Desejável

Experiência com frameworks modernos de front-end

 

POR QUE CAPCO:

Juntar-se à Capco significa ingressar em uma organização comprometida com um ambiente de trabalho inclusivo onde você é incentivado a #BeYourselfAtWork (Ser Você Mesmo no Trabalho). Celebramos a individualidade e reconhecemos que a diversidade e a inclusão, em todas as formas, são fundamentais para o sucesso. Acreditamos que todos trazem algo diferente, por isso adoraríamos saber o que o torna diferente!

 

PRÓXIMOS PASSOS:

O objetivo da Capco é conduzir um processo flexível e alinhado às necessidades de cada oportunidade e talento.

  1. Etapa 1: Entrevista comportamental.
  2. Etapa 2: Entrevista técnica.
  3. Etapa 3: Conversa com time de Projeto/ Delivery.
  4. Etapa 4: Conversa com cliente.
  5. Etapa 5: Proposta ou feedback.

As etapas do nosso processo seletivo descritas são essenciais para garantir uma avaliação completa e assertiva. Contudo, elas podem ser ajustadas dependendo da senioridade do(a) candidato(a), da área de atuação e do formato do projeto.

 

Apply for this job

*

indicates a required field

Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf


Com quais grupos você se identifica? Marque uma ou mais respostas: *
Select...
Select...

Reconhecimento do Aviso de Privacidade do Candidato a Emprego da Capco

Reconheço que as informações que forneço serão processadas e usadas para os fins descritos no Aviso de Privacidade do Candidato a Emprego da Capco.