Replies within 24 hours
Puesto: Maestro en Desarrollo Web
Cliente: Gobierno de DC
Ubicación: Washington, DC (entrevista presencial-presencial)
Descripción del puesto:
Ámbito de trabajo
• Diseñar, desarrollar y mantener sitios web basados en Drupal que apoyan las plataformas de agencias DC.gov y de distrito.
• Crear y personalizar módulos, temas, tipos de contenido, taxonomías y vistas de Drupal según los requisitos de la agencia.
• Realizar actualizaciones del núcleo de Drupal y módulos contribuidos, parches de seguridad y migraciones de versiones (por ejemplo, de Drupal 7 a Drupal 10/11).
• Integrar los sitios de Drupal con sistemas empresariales, APIs y servicios de terceros.
• Garantizar que los entregables cumplan con la Sección 508, WCAG 2.1 AA y los estándares web de distritos.
• Aplicar las mejores prácticas de seguridad web conforme a las directrices federales de ciberseguridad.
• Colaborar con gestores de proyectos, diseñadores UX, estrategas de contenidos y partes interesadas de la agencia.
• Proporcionar apoyo de producción de nivel 3 y participar en actividades de despliegue, incluyendo trabajos ocasionales fuera de horario.
Habilidades técnicas requeridas
HTML y Marcado
• Dominio fuerte del HTML5 semántico: seccionar elementos, jerarquía de encabezados, listas, tablas y formularios.
• Sólido dominio de la accesibilidad web (WCAG 2.1 AA): roles y atributos ARIA, navegación con teclado, gestión de enfoques, texto alternativo y etiquetado accesible de formularios.
• Familiaridad con datos estructurados y marcado SEO: metaetiquetas, Open Graph, tarjetas de Twitter y Schema.org/JSON-LD.
• Comprensión de cómo Drupal renderiza el marcado a través de Twig, y la capacidad de producir una salida limpia y válida mediante anulaciones de plantillas.
CSS y Estilismo
• Conocimiento profundo del diseño CSS moderno: Flexbox y CSS Grid, con buen juicio sobre cuándo usar cada uno.
• Competencia en diseño responsivo: consultas de medios, tipografía fluida, consultas en contenedores y metodología mobile-first.
• Dominio de la cascada, especificidad y herencia, con la capacidad de depurar conflictos de especificidad en lugar de buscar !importante
• Comodidad con propiedades personalizadas CSS (variables), tokens modernos de color/espaciado y patrones de tematización mantenibles.
Encantado de tener
◦ Fuertes habilidades SCSS/SASS: anidamiento, mixinas, funciones, parciales y una arquitectura de archivos disciplinada.
◦ Una metodología CSS coherente como BEM, y una comprensión de cómo se corresponde con las convenciones de clases de Drupal.
◦ Familiaridad con transiciones CSS, transformaciones y animaciones, utilizada con atención al rendimiento y preferencias de movimiento reducido.
JavaScript
• Buen dominio del JavaScript moderno (ES6+): funciones de flecha, desestructuración, módulos, promesas y async/await.
• Sólidas habilidades de manipulación del DOM y gestión de eventos, incluyendo delegación de eventos y oyentes conscientes del rendimiento.
• Fluidez con la API de Fetch y manejo asíncrono de datos, incluyendo análisis JSON y manejo de errores.
• Conocimiento práctico de la capa JavaScript de Drupal: Drupal.behaviors, once(), drupalSettings y el framework AJAX
• Comprensión de cómo adjuntar y asignar el alcance de JS correctamente a través de la API de Bibliotecas en lugar de scripts en línea.
• Familiaridad con la depuración a través de DevTools del navegador: puntos de interrupción, el panel de red, el perfil de rendimiento y la consola.
Encantado de tener
◦ Conciencia del rendimiento frontend: diferencia/carga asincrónica, minimización de reflujos, rebote/limitación y evitación de scripts que bloquean el renderizado.
◦ Experiencia con una pipeline de construcción/herramientas (Webpack, Vite o Gulp) y con linting/formateo (ESLint, Prettier, Stylelint).
◦ La exposición a un framework moderno (React/Vue) es una ventaja, especialmente para frontends Drupal desacoplados o parcialmente desacoplados.
Drupal
Administración del sitio y gestión de configuración
• Fluidez con la interfaz de administración de Drupal 9/10/11: tipos de contenido, campos, vocabularios, modos de vista, modos de forma/visualización, bloques, menús, alias de URL y redirecciones.
• Buen control de los flujos de trabajo de gestión de configuración: exportación/importación de configuración, config_split para configuración específica del entorno config_ignore para configuración protegida.
• Buen dominio del control de acceso de usuario: roles, permisos, flujos de trabajo de moderación de contenido y estados/transiciones personalizados de flujos de trabajo.
• Experiencia demostrada con Vistas: consultas complejas, filtros contextuales, relaciones, filtros/ordenados expuestos, reescritura de salidas y exportaciones REST.
• Un modelo mental claro de lo que pertenece a la configuración vs. contenido, vs. estado vs. settings.php.
Tematización y Frontend
• Habilidades sólidas en Twig: sugerencias de plantillas, preprocesamiento de plantillas e implementaciones de ganchos temáticos.
• Comodidad con la API de Bibliotecas: definición de JS/CSS, gestión de dependencias y carga condicional.
• Experiencia con temas base modernos (Olivero/Stable9) y temas basados en componentes.
• Familiaridad con Componentes de Directorio Único (SDC) para Drupal 10.3+.
• Fundamentos sólidos de diseño responsivo, una metodología CSS disciplinada (por ejemplo, BEM) y competencia en SCSS/SASS.
Multidominio / Multi-sitio (Es un gusto tenerlo)
◦ Experiencia práctica con el módulo de Acceso al Dominio: entidades de dominio, campos de acceso al dominio en contenido/usuarios/bloques y negociación de dominio actual.
◦ Comando práctico del módulo de Configuración de Dominio, incluyendo anulaciones de configuración específicas de dominio y precedencia de sobreescritura (settings.php > Interfaz de Configuración de Dominio > configuración base)
◦ Una comprensión clara de cómo las sobreescrituras de configuración se encadenan y por qué las sobreescrituras programáticas en settings.php tendrán prioridad silenciosa sobre los cambios en la interfaz de usuario
◦ Familiaridad con contextos de caché e invalidación en un contexto multidominio.
◦ Experiencia con estrategias de menús, bloques y pathautos conscientes del dominio, y con el intercambio de contenido entre dominios frente a patrones de contenido restringidos por dominio
Seguridad
• Sanitización disciplinada de entradas y escape de salida (filtros Xss, Html, URL; Escape automático de ramas).
• Un hábito reflexivo de usar marcadores para evitar la inyección de SQL y aplicar comprobaciones de acceso en consultas de entidad.
• Conocimiento operativo de la seguridad de subida de archivos, tokens CSRF y patrones de host confiables.
• Experiencia realizando auditorías de permisos y revisando la escalada de privilegios.
DevOps, Despliegue y Herramientas
• Comprensión de los flujos de trabajo de Git: ramas de características, rebase vs. merge, resolución de conflictos y patrones de hotfix.
• Fuerte dominio de Drush, incluyendo reconstrucciones de caché, importación/exportación de configuraciones y gestión de usuarios.
• Competencia con Composer para andamiaje de proyectos, parcheo y generación de cargadores automáticos.
• Experiencia con un entorno de desarrollo local, idealmente Lando (también bienvenidos DDEV/Docksal).
Encantado de tener
◦ Familiaridad con pipelines CI/CD (BLT, GitHub Actions o Acquia Pipelines).
◦ Experiencia práctica en Acquia Cloud: entornos, Cloud Hooks, flujo de trabajo de código/base de datos/archivos y CLI de Acquia.
◦ Comodidad con la configuración y enrutamiento de múltiples bases de datos.
Integración y estándares (Un placer tenerlo)
◦ Experiencia construyendo y consumiendo APIs REST: JSON:API, el módulo REST y recursos REST personalizados.
Estilo de trabajo y colaboración
• La capacidad de redactar documentación técnica que un editor de contenido no desarrollador pueda seguir.
• Un enfoque diagnóstico metódico — capaz de recorrer la depuración de problemas complejos sin conjeturas.
• Buena higiene en la revisión de código: commits legibles, PRs descriptivas y apertura a la retroalimentación.
• Adopción de los estándares de codificación comunitaria Drupal (PHPCS con los conjuntos de reglas Drupal y DrupalPractice).
Compensación: 54,00 $ - 58,00 $ la hora
(si ya tienes un currículum en Indeed)
