Role Overview:
As a Senior Moodle Developer, you will be instrumental in designing, developing, customizing, and maintaining our Moodle-based learning management systems. You will play a key role in extending Moodle's core functionality, integrating it with other critical systems, and ensuring optimal performance, security, and scalability. This role requires not only hands-on development expertise but also a strong understanding of Moodle's underlying structure to deliver high-quality, sustainable solutions.
Responsibilities:
Moodle Development & Customization: Lead the development, customization, and maintenance of Moodle plugins, themes, and core functionalities to meet diverse business and educational requirements.
PHP Development: Write clean, efficient, reusable, and scalable PHP code to extend and enhance the Moodle platform.
Moodle Architecture & API Expertise: Leverage an in-depth understanding of Moodle's modular architecture, APIs, and database structure to design and implement robust solutions.
System Integration: Integrate Moodle with various third-party applications, including other LMS, CMS, CRM, HRMS, and external services using RESTful APIs and other integration methods.
Performance Optimization: Proactively identify and resolve performance bottlenecks, optimize database queries (MySQL/PostgreSQL), implement caching strategies (e.g., Redis, Memcached), and ensure the scalability and reliability of Moodle instances.
Troubleshooting & Support: Diagnose and resolve complex technical issues related to Moodle installations, configurations, integrations, and customizations. Provide technical support to internal teams and, at times, to clients.
Security & Compliance: Ensure the Moodle system is secure, compliant with the latest security standards, and apply necessary patches and updates. Safeguard against common web vulnerabilities (XSS, CSRF, SQL injection).
Code Review & Quality Assurance: Conduct thorough code reviews, adhere to coding guidelines, and ensure best practices in Moodle development. Contribute to automated and manual testing efforts (e.g., PHPUnit, Behat) to maintain high code quality.
Documentation: Create and maintain comprehensive technical documentation for code, processes, and system configurations.
Collaboration & Leadership: Work closely with instructional designers, content developers, project managers, system administrators, and other developers. Provide technical guidance and mentorship to junior developers.
Qualifications: