As an aspiring developer or as a teacher looking to extend your knowledge of code, it can be difficult to know where to start with web technologies. In this blog post, we’ll be discussing why we have created the Mozilla Developer Network Learning Area to help solve common learning challenges and get you up and running with web development.
Why the new Learning Area?
Learning the craft of web design and development (and all the related disciplines) has been a hot topic for as long as we can remember. Many web education initiatives and resources have been worked on over the years, and many related problems have largely moved sideways rather than forwards:
- There is a shortage of skilled junior web creators coming into the industry.
- Traditional educational establishments often tend to be behind the curve in understanding the industry they are sending their students into. It is challenging to keep courses relevant and up-to-date. Many private code schools have appeared to fill the gap left by a lack of quality learning materials for beginning web builders.
- The above point is perhaps not so surprising when you consider that industry standards and best practices evolve very quickly, and also that web is somewhat of an orphan — it doesn’t comfortably fit into traditional technical departments like Comp Sci/Software engineering (too many “soft“ skills), or design departments (too much code and scary stuff like that). As a field of study, web is very much a hybrid.
Note: Many of the effective web-related courses at universities that “get it” are found in tangentially-related departments such as business and journalism. And speaking of the “bad” courses, teachers generally do care and want to improve things, but don’t necessarily have the knowledge or time to rapidly iterate on curricula. And the curricula are often slow to change because of bureaucracy.
It is MDN’s wish to help with such problems by producing a reliable set of beginner’s learning materials that will help students understand the technologies the web is built on, and how to use them to create accessible cross browser websites/apps. The MDN Learning Area aims to:
- Make effective material whether the students are self-directed learners, or part of a structured class.
- Structure the material loosely so teachers can use it as supplementary material on top of their own curricula, or a basis for new curricula. Too much structure makes the material limiting and not very flexible.
- Regularly review the material to keep it up to date.
Note: We also want to make the publishing license permissive enough so that others can easily grab and use it in any way they desire. The default MDN license is cc-by-sa, which means that others can republish the content as they wish, as long as they credit the original author, and any modifications are published under the same license as the original, thereby keeping it freely available. The associated code examples are licensed under CC0 (anyone can use them as they wish without restriction).
Where are we now?
While we continue to add to the MDN Learning Area content, there is already plenty of modules that beginners can start to use. For a start, we have a complete beginner’s learning module for those who have no previous experience and only basic computer literacy: Getting started with the Web.
The next stage in the learning journey is our Introduction modules, which teach the real basics of the technologies. So far, we have one for both HTML and CSS:
To follow on from those, we have some further HTML and CSS modules, which aim to go beyond the basics and expand on some of the core applications of those technologies:
Each module has a number of articles to discuss the important features and techniques involved, plus an assessment or two at the end to test your comprehension of those teachings.
We also have a well-developed Glossary, and a list of standalone articles that address specific topics related to the main Learning Area thread, but don’t directly fit into the core learning stream: see common questions.
The latest module being written is CSS layout, which will cover all of the layout techniques currently in use on the modern web, with advice on what they should be used for.
Call to action
We are always looking for contributors to help write and otherwise shape the material — with such a small team of writers, it takes time to create all the material. Having extra people on board also helps with making for a better rounded set of ideas, feedback and styles.
If you feel inspired and want to help with contributing to the LA — whether with writing, translating existing material, tech review, copy editing, or other kinds of feedback, please get in touch! We are always happy to curate outside contributions, as it leads to a more rounded, collaborative effort.
We are also really interested in hearing from potential students and teachers that might want to work through the materials and provide feedback on their learning experience.
The best ways to get in touch with us are:
- Through the #mdn channel on Mozilla IRC
- Or through the dev-mdc mailing list
We also have a Trello board that gives an idea of currently available writing projects.
About Chris Mills