Moodle LMS Developer

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

4 CAD

HOURS PER WEEK

40

DATE UPDATED

Sep 29, 2026

JOB OVERVIEW

Job Type: Full-Time, Long-Term Remote
Schedule: 7-8 hours/day, 5 days/week
Hours: 10:00 AM to 6:00 PM Toronto time
Rate: CAD $4/hour
Probation: 1.5 months

We are looking for an experienced and reliable Moodle Developer to customize and support our college’s learning management system.

The primary focus will be developing or customizing a Moodle theme to match our college’s colour codes, logo, and branding. The role also includes installing, configuring, and customizing plugins to support our academic and administrative needs.

Key Responsibilities

Develop or customize a Moodle theme based on our college’s brand guidelines and colour codes.
Customize the login page, homepage, dashboards, course pages, navigation, and other interface elements.
Create a consistent, user-friendly experience across desktop, tablet, and mobile devices.
Recommend, install, and configure Moodle plugins based on the college’s requirements.
Modify existing plugins or develop custom functionality when suitable solutions are unavailable.
Troubleshoot theme, plugin, layout, and functionality issues.
Test changes before deployment and check compatibility with our Moodle version and existing plugins.
Document customizations and provide clear instructions for ongoing maintenance.
Implement revisions based on feedback from the college team.
Create and organize Moodle courses, upload learning materials, and guide college staff on adding and managing course content.
Required Skills & Experience

Demonstrated experience with Moodle development, theme customization, and plugin implementation.
Strong working knowledge of PHP, HTML, CSS/SCSS, and JavaScript.
Familiarity with Moodle’s theme structure, templates, APIs, and database.
Ability to translate branding requirements into a polished, functional interface.
Experience making responsive and accessible layouts.
Ability to work independently, communicate clearly, and meet agreed deadlines.
Experience working with colleges or other educational institutions is an asset.

Application Requirements

Please include:

Resume
Examples of Moodle websites, themes, or plugins you have worked on. (required)
Short video introduction describing your relevant Moodle experience.
Confirmation that you can work 8 hours/day during the required Toronto-time schedule.
Confirmation that you are comfortable with the CAD $4/hour rate and 1.5-month probation period.

Email
address for scheduling a Zoom or Microsoft Teams interview.
Applications without relevant Moodle work examples and a short video introduction may not be considered.

Work Location: Remote

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0156
Total Execution Time  0.0174
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,514,776 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Moodle-LMS-Developer-1740628
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0087 seconds)  (Hide)
0.0013   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1740628
 LIMIT 1 
0.0006   SELECT *
FROM `employers`
WHERE `employer_id` = 567850
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1740628
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-04',ej.date_added) duration_days, DATEDIFF('2026-10-04',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_jobs ej WHERE e.employer_id = ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id = '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-10-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1740628' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1740628 
0.0008   UPDATE employer_jobs SET hit_counts = '***Sep-29-2026=288***Sep-30-2026=82***Oct-01-2026=13***Oct-02-2026=23***Oct-03-2026=7***Oct-04-2026=1' WHERE job_id= '1740628'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=368***Oct-2026=44' WHERE job_id= '1740628'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1740628' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1740628 
0.0015   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '567850'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0007   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)