Software Architect & Tech Lead - Moodle & AI-Assisted Dev
About the role
 TELEFÓNICA EDUCACIÓN DIGITAL, S.L.U. ofrece soluciones integrales de aprendizaje para la Educación y Formación, con más de 20 años de experiencia en el mercado nacional e internacional. Desarrolla procesos de aprendizaje de alto impacto en personas y organizaciones. En un mundo cada vez más incierto, uno de los mayores regalos que se le puede hacer a una persona es su formación. La formación es uno de los activos más valiosos que se pueden ofrecer para el futuro: amplía opciones, genera confianza y permite afrontar los cambios con mayor seguridad. En este sentido, el propósito de Telefónica Educación Digital es claro y profundamente relevante: ofrecer este regalo a cada uno de nuestros usuarios. Pocos propósitos tienen un valor mayor o un impacto más duradero que ayudar a las personas a construir su futuro. Puesto: Software Architect & Tech Lead – Moodle & AI-Assisted Dev Sobre el Rol Buscamos un/a Arquitecto/a de Software Hands-on para asumir el diseño técnico, la escalabilidad y el desarrollo directo de la solución, implementada íntegramente sobre el ecosistema Moodle. El puesto combina programación activa en PHP 8.x, desarrollo modular de plugins sobre Moodle y aplicación estricta de Clean Code, TDD (PHPUnit) y BDD (Behat). La posición impulsa la adopción de asistentes de Inteligencia Artificial generativa para acelerar la codificación, focalizando el esfuerzo técnico en la arquitectura, la cobertura de pruebas, la automatización en pipelines y la revisión rigurosa y constructiva de código (code review). Responsabilidades Clave
- Arquitectura y Desarrollo 100% en Moodle: Diseñar y programar directamente la solución mediante extensiones modulares, plugins a medida (local\, mod\, tool\), hooks, APIs internas de Moodle y plantillas Mustache, garantizando alta disponibilidad ante evaluaciones masivas concurrentes.
- Estrategia de QA, Testing y Cobertura: Asegurar la calidad integral del software aplicando metodología TDD con alta cobertura de pruebas unitarias (PHPUnit) y pruebas funcionales de comportamiento (Behat) sobre los desarrollos de Moodle.
- Ciclo de Vida, Asincronía y Trazabilidad: Gestionar tareas en segundo plano (Scheduled y Ad-hoc Tasks), scripts de actualización y evolución del esquema de datos (db/upgrade.php) y diseño de logs de auditoría para trazabilidad inmutable de eventos de examen.
- Integraciones Nativas: Implementar la comunicación con sistemas externos (pasarelas de pago, herramientas de proctoring/supervisión, ERPs) mediante Web Services y APIs RESTful nativas de Moodle.
- Rendimiento, Runtime y Concurrencia: Optimizar transacciones en base de datos para prevenir bloqueos concurrentes (deadlocks / table locks), gestionar capas de caché (MUC, Redis) y ajustar el runtime de PHP (php.ini, OPcache) y del servidor web (Apache / Nginx con PHP-FPM) ante picos de evaluación masiva.
- Flujos Asistidos por IA y Revisión Técnica: Integrar herramientas de IA en el flujo de desarrollo para optimizar entregas, realizando revisiones críticas de código para garantizar el cumplimiento de estándares de arquitectura, seguridad (OWASP) y ausencia de deuda técnica.
- Entornos, CI/CD y Control de Versiones: Mantener entornos reproducibles con Docker, gestionar flujos colaborativos en Git y configurar pipelines de integración y despliegue continuo (CI/CD) para la ejecución automatizada de pruebas y compuertas de calidad. Requisitos Indispensables
- Experiencia en Moodle y PHP (+5 años): Dominio avanzado de PHP 8.x, desarrollo directo de plugins propios, APIs de Moodle (Database, Cache, Events, Tasks, Form API), plantillas Mustache, migraciones con db/upgrade.php y compatibilidad con versiones modernas (ramas 4.x).
- QA, Testing y Clean Code:
- Compromiso estricto con estándares Clean Code y principios SOLID.
- Dominio avanzado de PHPUnit con exigencia de alta cobertura de código (test coverage) en plugins.
- Dominio práctico de Behat (BDD) para pruebas funcionales automatizadas en Moodle.
- Bases de Datos y Concurrencia: Optimización avanzada en MySQL o PostgreSQL, diseño de índices, transacciones ACID y control de contenciones y bloqueos (table/row locks) ante alta concurrencia transaccional.
- Runtime, Servidores Web y Caché: Ajustes y optimización del entorno de ejecución: configuración de PHP (php.ini, OPcache), tuning de servidor web (Apache / Nginx con PHP-FPM) y capas de caché distribuida y persistente (Redis, MUC).
- Entornos, Git y Automatización CI/CD:
- Configuración de entornos locales con Docker.
- Uso avanzado de Git (flujos de ramas, code reviews, merge requests y pull requests).