Create Alert
Email me similar jobs

19e6: senior fullstack drupal developer

Full-time Drupal Header CMS Redis UMA
Senior Fullstack Drupal Developer -  Headless Drupal | Backend Focus | React | Conversational English  Buscamos um(a) Desenvolvedor(a) Fullstack Drupal Sênior para atuar no desenvolvimento e evolução de soluções digitais construídas em uma arquitetura Headless Drupal. Nesse modelo, o Drupal será utilizado prioritariamente como plataforma de gestão de conteúdo, regras de negócio, persistência de dados e disponibilização de serviços por meio de APIs, enquanto a experiência digital será implementada em uma aplicação frontend desacoplada, preferencialmente utilizando React. Embora a avaliação técnica tenha maior profundidade na camada backend, o profissional deverá possuir capacidade efetiva de atuação fullstack, compreendendo e implementando a integração completa entre Drupal, APIs e aplicações frontend.O profissional ideal deverá combinar profundidade técnica, visão de arquitetura, autonomia, curiosidade, capacidade investigativa e inglês conversacional para atuação em um ambiente internacional.Contexto de arquiteturaA solução utiliza uma abordagem Headless Drupal, na qual:
  • O Drupal atua como CMS, camada de dados, gestão de conteúdo e backend da solução;
  • As regras de negócio são implementadas em módulos e serviços customizados;
  • O conteúdo e as funcionalidades são disponibilizados por APIs;
  • A experiência do usuário é desenvolvida em uma aplicação frontend desacoplada;
  • React é a principal referência tecnológica para a camada frontend;
  • Backend e frontend possuem ciclos de desenvolvimento e implantação independentes;
  • A integração entre as camadas deve ser segura, performática, observável e escalável.
O profissional deverá compreender os impactos dessa arquitetura em autenticação, autorização, cache, segurança, modelagem de conteúdo, versionamento de APIs, performance e experiência do usuário.Principais responsabilidadesResponsabilidades gerais
  • Desenvolver, evoluir e sustentar soluções digitais baseadas em Headless Drupal;
  • Atuar de ponta a ponta na implementação de funcionalidades entre backend e frontend;
  • Participar de refinamentos técnicos, definições de arquitetura e estimativas;
  • Transformar requisitos funcionais em soluções técnicas escaláveis e sustentáveis;
  • Garantir qualidade, segurança, performance e manutenibilidade do código;
  • Investigar falhas e realizar análise de causa-raiz;
  • Documentar APIs, componentes, configurações e decisões técnicas;
  • Participar de reuniões técnicas em português e inglês;
  • Trabalhar de forma colaborativa com arquitetura, produto, qualidade, infraestrutura e demais desenvolvedores.
Expectativas para BackendA atuação backend será concentrada na utilização do Drupal como plataforma desacoplada e fornecedora de serviços.Desenvolvimento Drupal
  • Desenvolver módulos customizados seguindo as melhores práticas do Drupal;
  • Implementar entidades customizadas, evitando o uso inadequado de Nodes;
  • Criar campos, relacionamentos, estruturas de dados e regras de validação;
  • Desenvolver serviços utilizando o sistema de injeção de dependências do Drupal;
  • Utilizar corretamente Events, Subscribers, Plugins, Services e Hooks;
  • Implementar formulários e interfaces administrativas para gestão da solução;
  • Configurar permissões, roles e controles de acesso;
  • Desenvolver rotinas administrativas, comandos e processos automatizados;
  • Aplicar padrões de desenvolvimento orientado a objetos em PHP.
Desenvolvimento de APIs
  • Projetar e implementar APIs REST customizadas;
  • Desenvolver manualmente a lógica central dos endpoints, sem dependência exclusiva do JSON:API;
  • Criar endpoints para consulta, criação, atualização e processamento de dados;
  • Implementar validação de payloads e tratamento consistente de erros;
  • Definir contratos de API claros e documentados;
  • Aplicar versionamento de APIs;
  • Implementar paginação, filtros, ordenação e critérios de pesquisa;
  • Garantir retrocompatibilidade quando necessário;
  • Criar collections do Postman para documentação e testes;
  • Documentar endpoints utilizando OpenAPI ou Swagger, quando aplicável.
Segurança
  • Implementar autenticação e autorização entre frontend e backend;
  • Trabalhar com padrões como OAuth 2.0, JWT ou mecanismos equivalentes;
  • Implementar controle de acesso por usuário, perfil e operação;
  • Garantir proteção contra acessos indevidos e manipulação de dados;
  • Aplicar validação e sanitização de entradas;
  • Proteger a aplicação contra vulnerabilidades comuns;
  • Configurar adequadamente CORS, headers de segurança e políticas de origem;
  • Garantir que dados sensíveis não sejam indevidamente expostos pelas APIs;
  • Aplicar as recomendações de segurança do ecossistema Drupal.
Performance e escalabilidade
  • Projetar soluções preparadas para alto volume de requisições;
  • Garantir integridade em operações concorrentes;
  • Evitar duplicidade de registros e condições de corrida;
  • Utilizar transações de banco de dados quando necessário;
  • Otimizar consultas e acesso ao banco de dados;
  • Implementar estratégias de cache do Drupal;
  • Trabalhar com Cache API, Cache Tags, Cache Contexts e Cache Max-Age;
  • Avaliar a utilização de filas e processamento assíncrono;
  • Reduzir carga desnecessária sobre o Drupal;
  • Analisar gargalos e propor melhorias de performance.
Observabilidade e operação
  • Implementar logs estruturados;
  • Criar mecanismos para rastreamento de requisições;
  • Apoiar a definição de métricas e alertas;
  • Facilitar a identificação de erros entre frontend, API e backend;
  • Implementar tratamento consistente de exceções;
  • Utilizar correlation IDs ou mecanismos equivalentes;
  • Apoiar o diagnóstico de falhas em ambientes integrados;
  • Monitorar disponibilidade, latência e taxa de erros das APIs.
Qualidade backend
  • Escrever código claro, modular e testável;
  • Aplicar princípios SOLID, Clean Code e separação de responsabilidades;
  • Criar testes unitários, funcionais e de integração;
  • Utilizar PHPUnit e ferramentas relacionadas;
  • Participar de code reviews;
  • Garantir aderência aos padrões de desenvolvimento do Drupal;
  • Utilizar ferramentas de análise estática e qualidade de código;
  • Manter documentação mínima da solução e dos fluxos técnicos.
Expectativas para FrontendA camada frontend será responsável por consumir as APIs do Drupal e entregar a experiência digital ao usuário.Desenvolvimento com React
  • Desenvolver aplicações utilizando React;
  • Criar componentes reutilizáveis e desacoplados;
  • Trabalhar com componentes funcionais e React Hooks;
  • Gerenciar estado local e compartilhado da aplicação;
  • Implementar navegação e roteamento;
  • Consumir APIs REST;
  • Tratar estados de carregamento, sucesso, ausência de dados e erro;
  • Implementar formulários e validações;
  • Integrar componentes frontend aos contratos de API;
  • Criar experiências responsivas para diferentes resoluções;
  • Manter organização, legibilidade e reutilização do código.
Integração com Headless Drupal
  • Consumir conteúdos e dados fornecidos pelo Drupal;
  • Interpretar corretamente os modelos de conteúdo disponibilizados pelas APIs;
  • Implementar autenticação e manutenção de sessão;
  • Trabalhar com tokens de acesso e renovação de credenciais;
  • Implementar tratamento de permissões no frontend;
  • Trabalhar com URLs, slugs, aliases e metadados fornecidos pelo CMS;
  • Garantir tratamento adequado de conteúdo estruturado;
  • Implementar renderização segura de conteúdos ricos;
  • Alinhar alterações de frontend com a evolução dos contratos de API;
  • Identificar e diagnosticar problemas de integração entre React e Drupal.
Qualidade e experiência do usuário
  • Desenvolver interfaces funcionais, intuitivas e acessíveis;
  • Aplicar HTML semântico;
  • Trabalhar com CSS, Sass, CSS Modules ou soluções equivalentes;
  • Implementar layouts responsivos;
  • Considerar requisitos básicos de acessibilidade;
  • Utilizar corretamente atributos ARIA quando necessário;
  • Garantir navegação adequada por teclado;
  • Implementar feedbacks visuais para ações do usuário;
  • Evitar comportamentos inconsistentes durante carregamentos e atualizações;
  • Aplicar boas práticas de experiência do usuário, mesmo sem atuar como designer.
Performance frontend
  • Evitar renderizações desnecessárias;
  • Aplicar lazy loading e code splitting;
  • Otimizar carregamento de componentes e recursos;
  • Utilizar memoização quando tecnicamente justificável;
  • Implementar estratégias adequadas de cache;
  • Otimizar imagens e recursos estáticos;
  • Acompanhar métricas de performance da aplicação;
  • Considerar Core Web Vitals;
  • Reduzir o impacto de chamadas excessivas às APIs;
  • Implementar debounce, throttle ou paginação quando necessário.
Testes frontend
  • Criar testes unitários para componentes;
  • Criar testes de integração;
  • Testar fluxos de interação do usuário;
  • Utilizar ferramentas como Jest e React Testing Library;
  • Utilizar Cypress, Playwright ou ferramenta equivalente para testes end-to-end;
  • Criar mocks de APIs quando necessário;
  • Validar comportamentos de erro, carregamento e indisponibilidade;
  • Garantir que componentes críticos possam ser testados isoladamente.
Requisitos técnicos obrigatóriosBackend
  • Experiência sólida com Drupal;
  • Experiência com desenvolvimento de módulos customizados;
  • Conhecimento avançado de PHP orientado a objetos;
  • Conhecimento das APIs internas do Drupal;
  • Experiência com entidades customizadas;
  • Experiência com Services e Dependency Injection;
  • Experiência com banco de dados relacional;
  • Conhecimento de transações e integridade de dados;
  • Experiência com APIs REST customizadas;
  • Conhecimento de autenticação e autorização;
  • Conhecimento de segurança de aplicações web;
  • Conhecimento de cache e performance no Drupal;
  • Experiência com Composer;
  • Experiência com Git;
  • Experiência com Lando, Docker ou ambiente equivalente;
  • Experiência com Postman;
  • Capacidade de criar documentação técnica.
Frontend
  • Experiência prática com React;
  • Conhecimento sólido de JavaScript moderno;
  • Conhecimento de TypeScript;
  • Experiência com React Hooks;
  • Experiência com componentização;
  • Experiência com consumo de APIs REST;
  • Conhecimento de gerenciamento de estado;
  • Conhecimento de HTML5 e CSS3;
  • Experiência com design responsivo;
  • Conhecimentos de acessibilidade;
  • Experiência com testes de componentes;
  • Capacidade de diagnosticar problemas de integração entre frontend e backend.
Arquitetura Headless
  • Experiência ou conhecimento consistente em arquiteturas desacopladas;
  • Compreensão da separação entre CMS e camada de experiência;
  • Conhecimento sobre contratos de APIs;
  • Compreensão de autenticação em aplicações desacopladas;
  • Conhecimento de CORS;
  • Conhecimento de cache distribuído;
  • Capacidade de analisar impactos de alteração entre backend e frontend;
  • Compreensão de observabilidade em arquiteturas distribuídas.
Idioma
  • Inglês em nível conversacional;
  • Capacidade de participar de reuniões técnicas;
  • Capacidade de explicar uma solução ou decisão de arquitetura;
  • Capacidade de discutir problemas, riscos e dependências;
  • Capacidade de compreender documentação e requisitos técnicos em inglês.
Diferenciais
  • Experiência com Drupal 10 ou versões posteriores;
  • Experiência com Next.js;
  • Conhecimento de Server-Side Rendering;
  • Conhecimento de Static Site Generation;
  • Experiência com GraphQL;
  • Experiência com JSON:API, mesmo que não seja utilizado como solução principal;
  • Conhecimento de Redux Toolkit, Zustand ou Context API;
  • Experiência com React Query ou TanStack Query;
  • Conhecimento de Storybook;
  • Experiência com Design Systems;
  • Conhecimento de micro frontends;
  • Experiência com CDN e cache de borda;
  • Conhecimento de Redis ou Varnish;
  • Experiência com filas e mensageria;
  • Conhecimento de plataformas de nuvem;
  • Experiência com CI/CD;
  • Experiência com Docker;
  • Conhecimento de Kubernetes;
  • Experiência com ferramentas de observabilidade;
  • Experiência em ambientes internacionais;
  • Experiência em aplicações de alto tráfego

19e6: senior fullstack drupal developer

Apply Now
Back to search page