What to Look for When You Hire an LMS Developer
The skills that matter in an LMS developer: depth in your platform, learner data and reporting, SCORM and xAPI, integrations and behavior under load, with prompts to use before you hire.

A learning platform is a web application with an unusually long memory. Years after a course ends, someone will ask who completed it, on what date, with what score, and whether the certificate is still valid. The LMS developer skills that matter most are the ones that protect that record: knowing the platform's data model, building reports that stay correct, handling content standards such as SCORM, and connecting the LMS to the systems around it.
General web development experience does not cover those, so here is what to check instead, with prompts to use when you interview.
Platform depth comes first
LMS platforms are not interchangeable, and neither are the people who work on them. A capable WordPress developer is not automatically a LearnDash developer, and years of PHP do not teach anyone Moodle. Ask for depth in the platform you run:
- Moodle. The plugin types and when each applies (an activity module, a block, a local plugin, an enrolment or authentication plugin, a report, a theme), the roles and capabilities system, the gradebook, events, scheduled tasks and the web services layer. Moodle's plugin type reference shows how wide that surface is. Above all, the rule that core files are never edited.
- LearnDash. The course, lesson, topic and quiz hierarchy, groups and group leaders, how progress and quiz attempts are stored, and the hooks that fire on enrollment and completion.
- LifterLMS. Access plans, memberships and engagements such as emails, certificates and achievements, along with its own hooks and data tables.
- A custom LMS. The framework underneath, and a model of enrollments, attempts and completions that will not need rebuilding when reporting requirements grow.
A useful test for any of these: ask what they built that the platform did not do out of the box, and how that work survived the next platform upgrade.
LMS developer skills that show up in the reports
Managers judge an LMS by its reports, and reports are where shallow work is exposed. A developer should be able to explain, for your platform, where each of these lives and how it changes over time: enrollment, progress within a course, each quiz attempt, the final grade, completion, and the certificate with its issue and expiry dates.
Then come the requests real organizations make. Completion by department or by client company, not only by course. Who is overdue. Who completed last year's version of a course that has since been replaced. Exports to a spreadsheet, and scheduled delivery to managers by email.
At a few hundred learners any approach works. At tens of thousands, a report calculated on page load times out, and the developer needs other tools: summary tables updated in the background, exports generated by a queued task and delivered as a file, and indexes on the columns that reports filter by. Check that they also think about the awkward parts, such as due dates across time zones and a record of who changed a grade by hand.
SCORM, xAPI and cmi5 in practice
If you buy courses from content vendors or build them in an authoring tool, they arrive as packages in one of these formats, and somebody has to make them report correctly.
SCORM content runs in the learner's browser and talks to the LMS through a JavaScript API, sending status, score, time spent and a bookmark so the learner can resume. The two families, SCORM 1.2 and SCORM 2004, behave differently, and platform support differs too. Moodle's built-in player handles SCORM 1.2, and its own documentation says that SCORM 2004 is not fully supported. WordPress LMS plugins generally need an add-on to play SCORM at all.
xAPI records learning as statements, each with an actor, a verb and an object, and stores them in a Learning Record Store, which may sit inside or outside the LMS. The xAPI overview from ADL, the initiative behind both standards, is a readable starting point. cmi5 is a set of rules for launching xAPI content from an LMS, so it can replace SCORM for packaged courses.
A developer with real experience can describe the usual failures: a course stuck on "incomplete" because the package reports a status the LMS maps differently, resume data cut off by the size limit in SCORM 1.2, tracking lost when the session expires during a long module, and content hosted on another domain that cannot reach the API. We cover the WordPress side in SCORM, xAPI and cmi5 on a WordPress LMS.
Integrations are where LMS projects run late
An LMS seldom stands alone. Typical connections are single sign-on through SAML or OpenID Connect, user provisioning from an HR system, enrollment triggered by a purchase or a CRM record, webinar tools for live sessions, and LTI for plugging in external learning tools. Each is simple on a diagram and slow in practice, because the other system belongs to someone else.
The skills to look for are less about any one API and more about defensive habits. What happens when the HR file lists the same person twice, or drops someone who left? Is an import safe to run again after it fails halfway? Where are sync errors logged, and who is told? How is a company's structure of departments and managers mapped onto groups or cohorts? A developer who raises these without prompting has been through it before. Our guide to LMS integrations goes through each connection type.
Load, exams and bad days
Learning traffic comes in spikes. Everyone logs in when the exam opens, or on the last afternoon before a compliance deadline. A developer should know how the platform behaves at that moment and what protects learner work:
- quiz answers saved as the learner goes, so a dropped connection does not lose an attempt
- page caching that never serves one logged-in learner's page to another
- scheduled tasks that keep running, since enrollments, reminders and certificate emails often depend on them
- video served from a streaming or storage service, not from the web server
- backups that have been restored at least once, and a load test before a large cohort starts
What to ask before you hire
- "Show me a custom report you built. How long does it take to run with the full user base?" You want specifics about data volume and how the report is generated.
- "A learner finished a SCORM course and it still shows incomplete. What do you check?" The status the package sent, how the LMS maps it, the completion settings on the activity, the browser console.
- "How do your changes survive a platform upgrade?" Plugins, child themes and hooks. Never edits to core or to a vendor's plugin.
- "How would you move learner progress from our old system?" A mapping of old records to new ones, a trial run on a copy, and spot checks by people who know the learners.
- "What will you need from our course authors and administrators?" Anyone who has delivered LMS projects knows that content readiness decides the schedule.
- "Which request would you advise us against?" Experienced developers have a list: features that fight the platform and cost more to keep than to build.
Developer, vendor support or no developer at all
Start by checking that you need a developer. If your requirements are courses, quizzes, certificates and a few standard reports, an administrator who knows the platform's settings can deliver them, and a hosted LMS may suit you better than anything custom.
For one well-defined change, such as a single report or a small plugin, a freelancer who works only on your platform can be the best choice. The platform vendor's own support is the right first call for anything that looks like a bug in their product.
A dedicated LMS developer pays off when the work combines integrations, reporting and ongoing change, and when mistakes in learner records are costly. That is the work we do most: we have delivered more than 300 LMS and eLearning projects and we maintain an LMS product of our own, so we know what it takes to ship and support this kind of software. If you already know your platform, go straight to a Moodle developer or a LearnDash developer. If you are still choosing one, begin with the eLearning platform decision and hire afterward.
Frequently asked questions
Do I need a Moodle developer or a WordPress LMS developer?
That follows from the platform, so choose the platform first. The two share a language and little else: different data models, different extension systems and different upgrade habits. A developer strong in one needs real time to become reliable in the other.
What is the difference between an LMS administrator and an LMS developer?
An administrator configures what the platform already offers: courses, enrollment rules, roles, certificates and built-in reports. A developer writes code to add what it does not offer, such as custom reports, integrations and new activity types. Many projects need mostly administration and a small amount of development.
Can one LMS developer also create the course content?
Rarely well. Writing and structuring courses is instructional design, a separate skill from programming. A developer can load content, build templates and fix packages that will not track, but the teaching material should come from someone who knows the subject and how people learn it.
Does the developer need SCORM experience if we only use video and quizzes?
Not today. Ask anyway whether you might buy off-the-shelf courses or report to an external body later, because both usually bring SCORM or xAPI with them. If that is likely, experience with packaged content saves a painful retrofit.
Add worldwincoder.com as a preferred source on Google, or open this article in your AI assistant to use it as a source.
