Description
**Senior Fullstack Drupal Developer \-** **Headless Drupal \| Backend Focus \| React \| Conversational English**
We are seeking a Senior Fullstack Drupal Developer to work on the development and evolution of digital solutions built on a Headless Drupal architecture. In this model, Drupal will be used primarily as a content management platform, business logic layer, data persistence system, and service provider via APIs, while the digital experience will be implemented in a decoupled frontend application — preferably using React.
Although the technical evaluation places greater emphasis on the backend layer, the candidate must demonstrate effective fullstack capability, comprehending and implementing end\-to\-end integration between Drupal, APIs, and frontend applications.
The ideal candidate should combine deep technical expertise, architectural vision, autonomy, curiosity, investigative ability, and conversational English for collaboration in an international environment.
**Architecture Context**
The solution adopts a Headless Drupal approach, where:
* Drupal serves as the CMS, data layer, content management system, and backend;
* Business logic is implemented through custom modules and services;
* Content and functionality are exposed via APIs;
* The user experience is developed in a decoupled frontend application;
* React is the primary technological reference for the frontend layer;
* Backend and frontend have independent development and deployment cycles;
* Integration between layers must be secure, performant, observable, and scalable.
The candidate must understand the architectural implications of this setup regarding authentication, authorization, caching, security, content modeling, API versioning, performance, and user experience.
**Key Responsibilities**
**General Responsibilities**
* Develop, evolve, and maintain digital solutions based on Headless Drupal;
* Work end\-to\-end on implementing features across backend and frontend;
* Participate in technical refinements, architecture decisions, and estimations;
* Translate functional requirements into scalable and sustainable technical solutions;
* Ensure code quality, security, performance, and maintainability;
* Investigate failures and conduct root\-cause analysis;
* Document APIs, components, configurations, and technical decisions;
* Attend technical meetings in Portuguese and English;
* Collaborate closely with architecture, product, quality assurance, infrastructure, and other developers.
**Backend Expectations**
Backend work will focus on using Drupal as a decoupled service\-providing platform.
**Drupal Development**
* Develop custom modules following Drupal best practices;
* Implement custom entities, avoiding inappropriate use of Nodes;
* Create fields, relationships, data structures, and validation rules;
* Develop services using Drupal’s dependency injection system;
* Correctly use Events, Subscribers, Plugins, Services, and Hooks;
* Build forms and administrative interfaces for solution management;
* Configure permissions, roles, and access controls;
* Develop administrative routines, commands, and automated processes;
* Apply object\-oriented PHP development patterns.
**API Development**
* Design and implement custom REST APIs;
* Manually develop core endpoint logic without exclusive reliance on JSON:API;
* Create endpoints for querying, creating, updating, and processing data;
* Implement payload validation and consistent error handling;
* Define clear, documented API contracts;
* Apply API versioning;
* Implement pagination, filtering, sorting, and search criteria;
* Guarantee backward compatibility when required;
* Create Postman collections for documentation and testing;
* Document endpoints using OpenAPI or Swagger where applicable.
**Security**
* Implement authentication and authorization between frontend and backend;
* Work with standards such as OAuth 2\.0, JWT, or equivalent mechanisms;
* Implement user\-, role\-, and operation\-based access control;
* Ensure protection against unauthorized access and data manipulation;
* Apply input validation and sanitization;
* Protect the application against common vulnerabilities;
* Properly configure CORS, security headers, and origin policies;
* Ensure sensitive data is not inadvertently exposed by APIs;
* Apply Drupal ecosystem security recommendations.
**Performance and Scalability**
* Design solutions prepared for high request volumes;
* Ensure integrity in concurrent operations;
* Avoid record duplication and race conditions;
* Use database transactions when necessary;
* Optimize database queries and access;
* Implement Drupal caching strategies;
* Work with Cache API, Cache Tags, Cache Contexts, and Cache Max\-Age;
* Evaluate use of queues and asynchronous processing;
* Reduce unnecessary load on Drupal;
* Analyze bottlenecks and propose performance improvements.
**Observability and Operations**
* Implement structured logging;
* Create mechanisms for request tracing;
* Support definition of metrics and alerts;
* Facilitate error identification across frontend, API, and backend;
* Implement consistent exception handling;
* Use correlation IDs or equivalent mechanisms;
* Support diagnosis of failures in integrated environments;
* Monitor API availability, latency, and error rates.
**Backend Quality**
* Write clear, modular, and testable code;
* Apply SOLID principles, Clean Code, and separation of concerns;
* Create unit, functional, and integration tests;
* Use PHPUnit and related tools;
* Participate in code reviews;
* Ensure adherence to Drupal development standards;
* Use static analysis and code quality tools;
* Maintain minimal documentation of the solution and technical flows.
**Frontend Expectations**
The frontend layer will consume Drupal APIs and deliver the digital experience to users.
**React Development**
* Develop applications using React;
* Create reusable and decoupled components;
* Work with functional components and React Hooks;
* Manage local and shared application state;
* Implement navigation and routing;
* Consume REST APIs;
* Handle loading, success, empty data, and error states;
* Implement forms and validations;
* Integrate frontend components with API contracts;
* Create responsive experiences for different screen resolutions;
* Maintain code organization, readability, and reusability.
**Integration with Headless Drupal**
* Consume content and data provided by Drupal;
* Correctly interpret content models exposed by APIs;
* Implement authentication and session management;
* Work with access tokens and credential renewal;
* Implement permission handling on the frontend;
* Work with URLs, slugs, aliases, and metadata provided by the CMS;
* Ensure proper handling of structured content;
* Implement secure rendering of rich content;
* Align frontend changes with API contract evolution;
* Identify and diagnose integration issues between React and Drupal.
**Quality and User Experience**
* Develop functional, intuitive, and accessible interfaces;
* Apply semantic HTML;
* Work with CSS, Sass, CSS Modules, or equivalent solutions;
* Implement responsive layouts;
* Consider basic accessibility requirements;
* Use ARIA attributes correctly when needed;
* Ensure proper keyboard navigation;
* Implement visual feedback for user actions;
* Avoid inconsistent behavior during loading and updates;
* Apply UX best practices even without acting as a designer.
**Frontend Performance**
* Avoid unnecessary re\-renders;
* Apply lazy loading and code splitting;
* Optimize component and resource loading;
* Use memoization when technically justified;
* Implement appropriate caching strategies;
* Optimize images and static assets;
* Monitor application performance metrics;
* Consider Core Web Vitals;
* Reduce impact of excessive API calls;
* Implement debounce, throttle, or pagination when necessary.
**Frontend Testing**
* Create unit tests for components;
* Create integration tests;
* Test user interaction flows;
* Use tools such as Jest and React Testing Library;
* Use Cypress, Playwright, or an equivalent tool for end\-to\-end testing;
* Create API mocks when necessary;
* Validate error, loading, and unavailability behaviors;
* Ensure critical components can be tested in isolation.
**Mandatory Technical Requirements**
**Backend**
* Solid Drupal experience;
* Experience developing custom modules;
* Advanced knowledge of object\-oriented PHP;
* Familiarity with Drupal’s internal APIs;
* Experience with custom entities;
* Experience with Services and Dependency Injection;
* Experience with relational databases;
* Knowledge of transactions and data integrity;
* Experience building custom REST APIs;
* Knowledge of authentication and authorization;
* Knowledge of web application security;
* Knowledge of Drupal caching and performance;
* Experience with Composer;
* Experience with Git;
* Experience with Lando, Docker, or equivalent environments;
* Experience with Postman;
* Ability to produce technical documentation.
**Frontend**
* Practical experience with React;
* Knowledge