Descrição da Vaga
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.
Responsabilidades
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- ✓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
- ✓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
- ✓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
- ✓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
- •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
Categorias
Sobre a Empresa
Mais vagas na mazzatech →Mazzatech is a global IT professional services company partnering with you to provide solutions to your project’s requirements and challenges in today’s highly competitive technology environment. We supply integrated IT services ecosystems, designed with your business success in mind, for toda...[Ver Mais]
Informações Adicionais
Você será redirecionado para o site da empresa