Escopo
Vaga: 14764 - Desenvolvedor(a) Full Stack (Plataforma Omnichannel)
- Data de Início: Imediata
- Tempo de Alocação: indeterminado
- Local de Trabalho: São Paulo/SP (100% Remoto)
- Horário de Trabalho: 9h00 às 18h00
Resumo
Buscamos um(a) Desenvolvedor(a) Full Stack para atuar na construção e evolução de uma plataforma de comunicação omnichannel, participando tanto do desenvolvimento das experiências web quanto dos serviços e APIs que sustentam a solução.
A plataforma está evoluindo para uma arquitetura baseada em microsserviços, orientação a eventos e serviços agnósticos de canal, permitindo que capacidades como conversas, campanhas, configurações, integrações e automações sejam reutilizadas independentemente do canal utilizado, como WhatsApp, Instagram, Telegram, e-mail e outros.
O profissional atuará principalmente com Vue e TypeScript no frontend e Python e/ou Go no backend, participando de todo o ciclo de desenvolvimento das funcionalidades, desde a concepção e discussão técnica até implementação, testes, entrega e sustentação.
Principais responsabilidades
• Desenvolver, evoluir e participar da migração de aplicações web da plataforma;
• Desenvolver componentes e interfaces utilizando Vue e TypeScript como stack principal de frontend;
• Desenvolver e consumir APIs de serviços backend;
• Implementar funcionalidades backend utilizando Python e/ou Go;
• Participar da construção e evolução de microsserviços e integrações;
• Colaborar na definição de contratos entre serviços, APIs e integrações;
• Colaborar no desenho de experiências para gestão de conversas, campanhas, canais, configurações, integrações e demais capacidades da plataforma;
• Garantir a integração adequada entre frontend, APIs e serviços;
• Trabalhar com processamento assíncrono e arquiteturas orientadas a eventos, quando aplicável;
• Zelar pela qualidade das entregas por meio de testes automatizados de frontend e backend;
• Participar de revisões de código, refinamentos e decisões técnicas;
• Contribuir com observabilidade, logs, tratamento de erros e diagnóstico de problemas;
• Participar da evolução e modernização de aplicações existentes, buscando redução de redundâncias e maior reutilização entre as soluções;
• Trabalhar em conjunto com Backend, QA, UX/Design, Produto e demais integrantes da squad;
• Participar ativamente das discussões técnicas e funcionais, comunicando riscos, dependências, impedimentos e oportunidades de melhoria.
Requisitos obrigatórios
• Experiência com desenvolvimento Full Stack;
• Experiência com Vue, TypeScript e JavaScript;
• Experiência com Python e/ou Go;
• Experiência no desenvolvimento e consumo de APIs REST;
• Conhecimento de HTML e CSS;
• Conhecimento de Design Systems, componentização e construção de componentes reutilizáveis;
• Experiência com gerenciamento de estado e organização de aplicações frontend;
• Conhecimento de bancos de dados relacionais e SQL;
• Conhecimento de arquitetura de microsserviços;
• Conhecimento de Docker;
• Experiência com testes automatizados de frontend e backend;
• Conhecimento de Git e processos de CI/CD;
• Conhecimento de princípios SOLID, padrões de projeto e boas práticas de engenharia de software;
• Conhecimento de separação de responsabilidades e arquiteturas em camadas;
• Capacidade de atuar tanto na evolução de aplicações existentes quanto na construção de novas soluções;
• Conhecimento de integração com APIs e serviços externos;
• Conhecimento de APIs ou plataformas de comunicação, como WhatsApp Business Platform.
Requisitos desejáveis
• Experiência com React, Java ou Node.js;
• Experiência com mensageria e event streaming, utilizando tecnologias como Kafka, RabbitMQ ou similares;
• Conhecimento de arquiteturas orientadas a eventos;
• Conhecimento de conceitos de sistemas distribuídos, como idempotência, retry, eventual consistency, processamento assíncrono e tratamento de falhas;
• Conhecimento de DDD, Bounded Contexts e modelagem orientada a domínio;
• Conhecimento de arquitetura hexagonal/Ports & Adapters;
• Experiência com Kubernetes;
• Experiência com aplicações em nuvens públicas, como AWS, Azure ou GCP;
• Experiência com arquitetura e organização de aplicações web de grande porte;
• Conhecimento de observabilidade, OpenTelemetry, métricas, tracing e consulta/análise de logs;
• Conhecimento de OAuth2/OIDC, JWT e modelos de autenticação e autorização;
• Experiência com aplicações multi-tenant;
• Experiência com WebSockets ou outras tecnologias de comunicação em tempo real;
• Experiência com sistemas de alta volumetria e processamento distribuído;
• Experiência com plataformas de comunicação, mensageria, atendimento ou Contact Center;
• Conhecimento de APIs de canais como Instagram, Telegram, e-mail ou similares;
• Experiência com interfaces de chat, atendimento, campanhas, dashboards ou sistemas administrativos.
Perfil e competências comportamentais
Buscamos um profissional capaz de enxergar uma funcionalidade de ponta a ponta, compreendendo a experiência do usuário, os contratos das APIs, as regras de negócio e as implicações das decisões tomadas no frontend e no backend.
É importante ter preocupação com reutilização, componentização, qualidade, experiência do usuário e desacoplamento, evitando soluções excessivamente específicas quando uma capacidade pode ser compartilhada por diferentes produtos, contextos ou canais.
Esperamos um profissional que demonstre:
• Comunicação clara e objetiva: capacidade de expor ideias, decisões técnicas, riscos e dificuldades de maneira transparente, adequando a comunicação a públicos técnicos e não técnicos;
• Autonomia com responsabilidade: capacidade de conduzir atividades e buscar soluções sem depender de direcionamento constante, envolvendo o time quando uma decisão ultrapassar seu contexto ou gerar impactos relevantes;
• Colaboração: disposição para construir soluções em conjunto, compartilhar conhecimento, realizar revisões de código e contribuir com o desenvolvimento dos demais integrantes da equipe;
• Proatividade: capacidade de identificar problemas, riscos, débitos técnicos e oportunidades de melhoria, propondo ações em vez de atuar somente sobre demandas previamente detalhadas;
• Pensamento crítico: capacidade de questionar requisitos e soluções de forma construtiva, avaliando alternativas, impactos e trade-offs antes da implementação;
• Visão de produto e plataforma: compreender que as soluções desenvolvidas fazem parte de um ecossistema maior, buscando capacidades reutilizáveis e evitando duplicações desnecessárias;
• Senso de responsabilidade sobre a entrega: acompanhar a funcionalidade além da implementação, considerando testes, deploy, observabilidade, comportamento em produção e experiência do usuário;
• Adaptabilidade: facilidade para trabalhar em um ambiente de evolução arquitetural, convivendo temporariamente com soluções legadas enquanto novas capacidades são construídas e migradas;
• Compartilhamento de conhecimento: contribuir com documentação, padrões, discussões técnicas e disseminação de conhecimento entre os integrantes e squads;
• Pragmatismo técnico: buscar soluções sustentáveis e bem estruturadas, equilibrando qualidade arquitetural, complexidade, prazo e necessidade de negócio.
O profissional deve conseguir transitar entre frontend e backend sem perder a visão dos limites de responsabilidade de cada camada e dos diferentes domínios da solução, contribuindo para a evolução de uma plataforma escalável, reutilizável e agnóstica de canais.
Observação sobre o currículo
O currículo deve apresentar de forma clara e detalhada os projetos e períodos de atuação relacionados aos requisitos da posição, especialmente as experiências com desenvolvimento Full Stack, Vue, TypeScript, JavaScript, Python e/ou Go, APIs REST, microsserviços, testes automatizados e integrações. Também devem ser destacadas, quando existentes, as experiências relacionadas aos requisitos desejáveis.
Maiores detalhes serão fornecidos durante a entrevista técnica com o cliente.