The MDN front-end developer curriculum aims to provide the definitive recommendation for fundamental skills and knowledge that a front-end web developer should have for employability and longevity in today's web industry.
This curriculum has been created by the MDN team with review and feedback from experts within Mozilla and throughout the wider MDN community. Thank you for your valuable input; you know who you are!
Mozilla talks to industry professionals every day, and we regularly get feedback on the knowledge gaps in new hires. Hiring managers often observe:
As a result, we decided to create this curriculum to help guide people towards learning a better skillset, making them more employable, and enabling them to build a better, more accessible, more responsible web of tomorrow. We want them to have the best possible chance of success.
This curriculum embodies the values we think the web should have — accessibility, sustainability, usability, performance, and community. We would love educators, developers, and students to use this resource and champion these values in their work, in their teachings, and in the products they build.
This curriculum is useful for several groups of students:
Once a student has the list of topics they are going to learn, they should go forth and learn them via self-study, taking a course or boot camp to teach them, or a combination. Either way, upon completing a conforming course, students should be able to pass an examination that tests their knowledge of the topics they have studied.
Note: This resource is not a course for learning front-end web development, and does not aim to thoroughly teach it. It is a recommendation of what modern front-end web developers should know. However, we did spend a considerable amount of time and effort reviewing different courses that cover our modules, and intend to make recommendations for free and paid courses we consider suitable for learning the curriculum.
Educators can use the curriculum as a guide when creating programs, units, and assessment specifications for a web-related university degree, college course, coding school course, or similar. Conforming to the curriculum will help ensure that courses teach current techniques and best practices, and avoid bad practices and out-of-date information.
To find out more, consult our Resources for Educators page.
Hassle-free PDF download: The complete MDN Curriculum is available as a convenient PDF to share with your students and colleagues.
The term front-end developer can be ambiguous; it can mean different things to different people, and folks working on the front end can be expected to do a wide variety of different tasks.
This curriculum does not attempt to outline every topic that a web developer could conceivably be expected to know in-depth. The curriculum covers the following:
The topics presented are covered in differing levels of detail.
There are also several areas that we explicitly don't cover in this curriculum, namely:
Back-end languages/platforms such as Node.js, PHP, Python, .NET, Java, or Ruby. The back-end, by definition, is out of scope for a front-end development curriculum, although you'll find crossover in full-stack developer courses.
Traditional relational databases (for example, MySQL or Postgres) and other server-side datastores (for example, cloud databases such as MongoDB or Google Cloud Datastore). These are deemed to be part of the back-end, and therefore, out of scope. We do cover client-side storage mechanisms like cookies, Web Storage, and IndexedDB, but they have different and distinct use cases.
Deep-dive DevOps topics such as cloud platforms for provisioning and automation (for example, Amazon AWS , Google Cloud Platform, and Microsoft Azure) and containerization tools (for example, Kubernetes and Docker). We do lightly touch upon some tools that are considered to be in the DevOps space — like GitHub and automated testing tools — but these have distinct crossover into the front-end developer space.
Graphic design beyond the basic knowledge (outlined in Design for developers).
Skills related to roles such as product and program management (for example, organization, research, and planning).
This resource is free for anyone to use. If you find the curriculum useful, we request that you consider doing the following:
Link to it. For example, an educator could include the following in their public program information:
<p>
This course is based on the
<a href="https://developer.mozilla.org/en-US/curriculum/"
>MDN front-end development curriculum</a
>.
</p>
Tell others about it! We would love as many students and educators as possible to start using this curriculum and converging around it as a standard for web developer baseline knowledge.
Note: This curriculum should be used as a guide, but its use does not imply endorsement by Mozilla.
The web development industry is changing constantly and rapidly. To keep our recommendations current, we will review our curriculum regularly, publish changelogs, and make an announcement every year, contacting the creators of known conforming courses to let them know the curriculum has changed and encourage them to review/update their courses as appropriate.
We intend to do this in Q2 each year, to give educators time over Q2/Q3 to implement changes before the start of the following academic year.
We would love to hear your feedback regarding our curriculum. If you have any suggestions for how the resource could be improved, or if you've noticed any inaccuracies or mistakes, we would love to hear from you. File an issue containing your feedback on the curriculum source code repo.