Welcome to the MDN front-end developer curriculum
The MDN front-end developer curriculum is intended to provide an up-to-date industry recommendation for the key fundamental skills and knowledge that a front-end web developer should have, including the mindset and attitude required for securing a job and for long-term success in this field. This repository has been created to give the web community an understanding of the curriculum's purpose and target audience, an early preview of its content, and a chance to give feedback on it. Please let us know what you think!
Rationale
The curriculum is an outcome of a research project conducted by the MDN team in early 2023. We asked students, new web developers, technical hiring managers, and web education professionals about their expectations around learning front-end web development β on MDN and elsewhere. The key outcomes of this research were:
- Students expect more structured guidance on what topics to learn and when.
- All groups cited a lack of "soft skills" (like teamwork, research, and critical thinking) and knowledge of best practices (such as accessibility and privacy) in potential new hires as key problems in the industry.
Part of our focus for 2023 is on making MDN a resource where people can learn new skills, as well as look up reference material. Back in 2019, we launched the Learning Area on MDN to help people learn the basics of front-end development. With a lot of useful content published to date, this part of MDN has proven to be successful β it averages around 10% of MDN page views. However, we feel that it needs to be supplemented with stronger guidance on what new front-end devs should learn, and in what order, to be successful in the web industry. The curriculum represents a first step towards this goal.
Target audience and purpose
We believe the curriculum is useful to several different groups of people, from students wanting to learn web development to educators wanting to put together courses to teach it. Head over to the curriculum introduction to read more about its target audience and purpose.
Curriculum structure
We have structured the curriculum as follows:
- Precursor knowledge: Topics that are not, strictly speaking, web development topics but do constitute useful topics for anyone wanting to learn front-end web development. This includes soft skills and knowledge of a typical development environment.
- Core modules: Topics that we feel every web developer should have a good grounding in. This includes all the information they need to design and build a basic, accessible website/app that follows modern best practices, and manage and deploy their code using a tool like GitHub.
- Optional extension modules: These "extension" topics constitute useful additional skills to learn as web developers start to expand their knowledge and develop specialisms.
Get started by heading over to the main table of contents to see a granular overview of the included topics, and start exploring the content.
Providing feedback
We would love to hear your feedback regarding our curriculum. To do so, please open an issue β leave your feedback under General feedback or Topic coverage. When doing so, think about the following questions:
- Does our curriculum contain all the fundamental knowledge a front-end web developer needs? If not, what topics are we missing? We are interested in high-level concerns (for example, "this whole area is missing") as well as lower-level feedback (for example, specific CSS or JavaScript topic omissions).
- Do you think the curriculum is helpful to its key target audiences, for example, students wanting to learn front-end development and teachers wishing to create courses based on it? If not, why not?