Are we ready? Oh, let me go then. Without further ado, ladies and gentlemen, Chris will go and introduce us to the MDN curriculum. Hi. So, hello everyone. Nice to see you all. Thanks for coming. My name's Chris Mills, and I'm going to take you through a new MDN project soon to be released called the MDN curriculum. Take you through a little bit about who I am to begin with. I describe myself as a death metal hippie. I love documentation, and I love the open web, and I love tinkering with open standards. I used to work for Mozilla for quite a while. I was the content lead and team manager for MDN, but I left and did some other stuff, and now I've come back as a contractor, and this is the current thing that I've been working on with the MDN team. Another thing to add is that I'm a heavy metal drummer, so if you want to ask me a question later on, please speak slowly. A little bit about this talk. We are going to talk about, first of all, some of the problems that myself and I was perceived with Frontend Development in 2024, particularly in terms of education and the skills that new web developers bring into the table when they come and get jobs. We're also going to take you through the thoughts of how a curriculum, a new curriculum could solve some of these problems, and some of the research that we did to try and prove out some of our theories about this. I'll then talk to you a little bit about the actual curriculum that we came up with and its structure, its approach, some of its goals, and then I'll talk to you about possible next steps, some of the things that we can then go on to do with this curriculum as a basis. Now, first of all, I'm going to talk to us about, talk to you about something that we're very good at in open source communities, problems, and complaining. Yeah, Mr. Brexits, back in the UK government, I'm so pleased. No, not those kind of problems. Really, we're talking about problems with front-end development, kind of what skills are new web developers missing when they come into the industry? What's the state of web education? What kind of effects are these problems having on the web in general and the quality of sites that we build? One thing that I've talked to quite a lot of hiring managers about, and this will also be mentioned in the research that I'll talk about later, is just lack of general core principles of new developers coming into the industry. A short anecdote that I'll share with you is a couple of years ago, a friend of mine called me into his company. He worked for a large agency at the time, and he wanted me to talk to all of his front-end teams about accessibility, really basic accessibility, just kind of use headings and paragraphs and use alt text, that kind of stuff. I went in there and did a 20 minute talk, and I was thinking, do I really need to talk to these folks about this? It was like a revelation to them. They were all like, whoa, so that's why you have to do this stuff? I was just blown away. I was like, I thought we'd kind of largely won this battle and moved on. It kind of blew my mind about how little they knew about this stuff. I kind of feel that with a lot of the new developers' community industry, they're not really learning core languages and old school standards as much as just kind of, well, I want to get a job so I'm going to learn React, and I'm not going to turn this into a massive whinge, but that kind of results in not knowing these core principles and best practices quite as well as perhaps they could. The next thing to talk about is lack of core language skills. This is another thing that hiring managers have talked to me about a lot. People learn React and other frameworks, but they don't maybe take the time to learn the core JavaScript language as much as they could, so they can build websites that work great and have a good look in UIs, but maybe their problem-solving skills aren't quite as good as they could be when they suddenly need to get brought onto a problem that requires not writing some code inside a framework. Also, we kind of worry that maybe this is not so good for people's long-term employability, because if they've just learned React, what then happens if all of a sudden the company goes, well, now we're going to do all of this stuff in a different framework, or another framework suddenly becomes really popular and every employer wants to use it on their projects? This is probably the biggest one that I've heard from employers is just general lack of soft skills from new hires. I know you could make the argument that this kind of stuff comes of experience, but it really would be great to try and promote that learners spend more time thinking about skills such as research and kind of basic critical thinking and problem solving, and also working on having this constant learning mindset that you kind of need to have to succeed in this industry because things are just always changing all the time. So who's to blame for any of these problems? Well, not really anybody, I would say. I'm not going to point the finger at anyone in particular, because you've got all of this ideological thinking that says everything should be accessible all the time and this should happen and then this should happen, but actually people just want to get a job, so it's no wonder that people go, well, all of these job adverts are saying I need to know this framework, so I'm just going to take the quickest path I can to get employment and be able to pay my mortgage and buy food. Coding boot camps that I've reviewed largely tend to focus on this kind of stuff, and again, I'm not blaming them, I'm not saying it's a terrible thing, but they tend to be, the attitude tends to be, you know, we will take you from nothing to getting your first job in three months or six months or whatever, and that's a perfectly reasonable way to frame what you're offering to people, but there is the problem that maybe the best practices and the background skills aren't maybe being as taught as well as they could be, and of course courses become out of date very quickly. Particularly this tends to be a problem with university courses that I've come across. I know a lot of lecturers that really struggle to kind of keep up with all of the stuff that they've got to do, which isn't just learning about technology, they struggle to put the time in to keep their skill set current with all of the stuff that's going on in the industry. And then I'm also going to just say a few things about interview processes, and again, this definitely isn't the fault of the actual learners trying to come into the industry, but because people don't tend to have a consistent set of skills, a lot of interview processes tend to kind of be well, we're looking for this kind of unicorn that knows these ten things really well that are all really complicated, and all of the people that we're talking to have kind of got about four of these things definitely shown up on their CV, so we've got to do a whole bunch of whiteboard interviews and coding interviews and huge long convoluted interview processes to check whether this person can do this job that we're trying to hire for. Another interesting thing to make mention of AI, which has already been talked about today, is it fascinated me that in the last maybe six months to a year or so, I've started to hear multiple hiring managers talk about the fact that oh, we had to put a load of extra processes in and the interviews have become even more complicated now because a lot of our candidates are trying to cheat using AI. I've literally heard about people having chat GPT open in another window whilst they're doing an interview and just typing all of the interview questions into it and then parroting back the answers to the interview, isn't it? It's like, that's a bit nightmarish and it's difficult to really think about what to do about that, but I kind of think well, if these people were maybe more confident in their skill sets in the first place, maybe they wouldn't have to think to rely on that quite as much. Another interesting thing is that something that we're sort of looking to do with some kind of curriculum would maybe to have some kind of industry standard benchmark certification eventually. This is kind of pie in the sky, often the future, but maybe this certification could kind of say, you know, anybody that's got this certification, it's a trusted certification, you know, in the same way that industries such as law or architecture have trusted bodies who have these certifications that everybody gets to prove that they know what they're talking about, but we don't really have that for our industry and employers don't really trust some random certificate from some, you know, whatever boot camp, you know, I'm not saying those boot camps are bad or not trustworthy, but employers just have a hard time trusting them and as makes perfect sense, they value demonstrable experience and portfolios a lot more, so it would be interesting to see how we can match these up in an effective way with some kind of curriculum. So yeah, this is the question we came to, we thought all of these problems, could we try and solve this or at least go some way towards solving this with a new curriculum? And we thought, well, we can't just trust our hunches, let's go out there and do a bit of research. And, well, I went out and I talked to a whole bunch of people from four different groups, trying to get some insights from both kind of people on the new learning end of the table, the new people trying to come into the industry, people that have very recently gone into the industry, new web developers, and then senior web devs slash managers, you know, these are the kind of people that are actually on the hiring panels trying to hire people to come into the industry, and then educators from universities and colleges and boot camps that are trying to impart these skills to allow people to enter the industry. It would take far too long to go through all of that research in excruciating detail, so I'm just going to share a couple of findings with you. But a couple of the key questions that we asked were firstly, in their opinion, what skills most commonly missing, and secondly, how valuable do they see an official curriculum or certification being for employment purposes? And in terms of the missing skills, I was quite glad to be validated in my thoughts that basically a lot of them said, yes, things like core language knowledge is missing, things like soft skills are missing, and things like fundamental best practices are missing, semantic HTML, accessibility, responsive design. There was also quite a lot of mention of tools, obviously not things like frameworks, because a lot of people learn those, but things like version control tools, for example. There was some sort of worry about people missing the idea of how to use those tools and linters and all of the other kind of tool chain stuff that comes along. The value of curriculum slash certification was an interesting one, so the response we got to this question was quite overwhelmingly negative. As I said before, people did come across and say, well, you know, experience is more important than having some kind of certification. People said it even sometimes feels like a bit of a scam if someone's turned up and said, hey, you should trust me because I have this certificate. It sounds like it could possibly be a bit snake oil-like, a bit kind of what, you know, how are they trying to trick me here with saying they've got some sort of certificate? Other people I talked to even said, you know, we don't like the idea that courses and certifications could create some kind of barrier to entry for the wealthy. You know, you've got to pay to have this thing to be able to gain entry to the industry. You know, that's not a good kind of look and not something that we try and promote. But yeah, so it was quite negative. On the positive side of the value of certification, we did have some folks saying, well, actually we could get behind this, but only if we have a reputable provider or industry body to kind of officiate this certification. It would also be useful to have some sort of baseline of skills to say, well, you know, this is the official industry standard of what you should know as a new front-end developer. Because there are lots of people out there teaching things and learning things in quite a lot of different ways. So we took this research forward and we created the MDN curriculum. So to take you through this a little bit, our key aims were to provide a baseline of skills, which basically talks to what I just said. We also wanted to make sure that it provided a balance between your short-term tooling and frameworks and all this kind of stuff. You know, I also tend to call this the kind of short-term employability skills. You know, it's like all the job ads says react, so I'm just going to go and learn react. But to provide a balance between those short-term employability skills and the more long-term core skills like core JavaScript and like accessibility and semantic HTML, etc. So that's kind of a difficult one because it's important to teach both, but you don't want to kind of bore the pants off people with hours and hours of history lessons about web standards philosophy. It's just not going to work for a beginner. The next thing that we wanted to try and put across of this curriculum is, you know, what if we could use Mozilla's brand and reputation to give this project credibility so that whenever, when we eventually start producing things like certifications based on it, because we'd like to do that, it might be seen as trustworthy by the industry. We also want to make sure that we regularly review the curriculum and any kind of courses based on it, maybe any kind of partner material that we recommend that people go to to try and learn the curriculum. We want to review them really regularly to make sure that they stay up to date with industry trends. That's also a big thing. Stuff does become out of date all too often. The number of courses that I've seen that basically still say, well, JavaScript is jQuery and you're like, hmm, a lot of people still use jQuery, but that does seem somewhat dated now. And the last thing that I wanted to talk about is just avoiding this kind of conception that it's a paywall barrier to entry, you know, we want to make sure that the curriculum does provide a completely free educational experience with options to go to paid partner courses if people want, choose to pay for such a thing, but if they don't, they don't need to do that. So the high level structure of the curriculum and actually I think I'm just going to jump into the demo now. We do actually have the curriculum available in on a development server at the moment. We're going to release a pilot program, maybe in the next couple of weeks or so to allow people to actually start looking at this themselves and provide us with some feedback. But at the moment, we've just got it in development. So this is what it looks like. We're trying to present it as a nice friendly experience with a bunch of different modules. So the first thing that you get to is the core modules. This is essentially the baseline skill set that I've talked about. This is what we think everybody should know to be an effective front-end developer. And we did a heck of a lot of research and got a lot of opinions on what should be in here. But we also provide these getting started skills that we, as we're referring to them. So this includes the soft skills that I previously talked about, lots of advice and lots of links to resources to say, hey, you know, you should brush up on your research skills. You should think about what it means to work in a team. You should look into courses that provide skills on how to do well in a job interview, for example. All of these soft skills are very useful to people coming into the industry. And then we've also got a module there on environment setup. And this is kind of, you know, not exactly web-related skills, but it's all of the skills to do with making sure you're familiar with your local environment that you're going to use to actually build websites. So things like command line and code editors and the file system, you know, because it's that kind of stuff that really trips people up. Like I've taught a whole bunch of beginners classes to kids at my daughter's school, like after school clubs. And the kind of the number one thing that I came across that really messed with complete beginners is trying to figure out file paths and creating files on your local system and dealing with all of that weird stuff that Windows does when it hides known file types, which messes you up when you're a beginner and you don't know what's going on. So all of that kind of stuff, because it's really important, even though it's not really web-related. Then the final part of this is we've started to list a bunch of extensions. Now, these are not part of the core, and we're not going to try and insist that any courses that want to conform to our curriculum teach all of the extensions. Because the idea is that the core provides the essential stuff that everybody should know. But of course, as a web developer, once you have all the basics under your belt, you're then going to want to start specializing in things. You know, some people might just want to work mostly on CSS and do layouts and things. Some people will see themselves more as JavaScript developers. Some people are going to be a bit of a hybrid in the mix. So we're providing modules on kind of, you know, more complex, specific CSS subjects and particular types of tooling and things like security and privacy and testing. So that people can go on and specialize in those kind of things after they've got the core under their belt. And this was partly because there were so many opinions flying about what should be inside the core. What's the actual essential stuff that you need to know to get started? That we just thought, well, we need to keep this kind of quite small and focused because, A, as it is, the list is pretty intimidating and large. You know, the list of skills you need to know is quite intimidating and large. And also, it makes it harder and harder to find courses that are actually going to be able to conform to our curriculum. So we just kept it fairly small and focused. Now, if we go actually into one of these modules, just to give you an example, it looks fairly like an MDN page, but with some differences. You'll see here that we explain JavaScript. We've got all of the submodules teaching all of the things that you need to know, like variables and text and arrays, et cetera, et cetera. And then we list resources for people to go to to start learning those different topics. As I say, it's a curriculum in the academic sense of the word. It's a list of topics or criteria you should know. It doesn't provide all of the course material integrated into the curriculum because we thought, well, there's so much high quality material out there already that why should we kind of reinvent the wheel? You know, there's loads of good stuff on MDN already, so really it just needs a bit of organization. It doesn't need kind of repeating and duplication. And then also we can start to recommend partner courses. So this gives you a little idea of what we've got in the curriculum. Just go back to the presentation now. So I had these here just in case, you know, the Wi-Fi obviously wasn't going to work. So next steps, what are we hoping to do with this kind of baseline curriculum now that we've now after we have it published in a couple of weeks or so? As I said, there's a number of follow-on projects that could come out of this curriculum. I'm really hoping that we've managed to do a whole bunch of evangelism around it and start to get it adopted as kind of like somewhat of an industry standard baseline of skills that students can say, hey, I'll go and learn that curriculum or educators can say, well, I want to write a new course for my university. So hey, I'll base it on that curriculum because it's a good solid baseline of skills to know. We're also looking at recommended conforming courses. So we've got a bunch of starter resources, but some people will want to have a very opinionated, complete course just to work through from start to finish. So we're currently looking into a bunch of partners, both free and paid, that we could recommend people go to to learn all of this stuff. And, you know, again, this is a good option than having to create a new, a complete new course yourself at great expense. And plus the MDN team has never really had experience in creating high quality video courses and there's lots of them out there already. So we wouldn't want to compete with that. But it's quite tricky because we're having to review these courses in great depth to make sure that they conform to all of the stuff that the curriculum says you need to know. But also they're teaching the stuff with a kind of a philosophy that aligns with Mozilla's philosophy about this stuff and doesn't teach bad practices. You know, actually teaches all of the accessibility stuff properly and uses semantic elements in the examples and all this kind of stuff. So it's been, you know, we've reviewed a couple already and it's been a very long-winded, challenging process, but, you know, very useful for both sides because it's taught us things. And it's also given us a load of feedback that we can then give to these course providers to help to improve their courses. And then just to mention again about certification, there's nothing on the cards yet, but we really would like in the future to create some sort of certification, you know, create an exam and get a certificate that proves that you know all of the stuff in the core curriculum, you know, and maybe in the future we could use the Mozilla brand to give this credibility. We could also have some sort of system that gives the students like a ready-made portfolio along with their certificates so they can actually have something to show employers to prove that they wrote some code and they know what they're talking about. And we're thinking, you know, maybe in the future this could make all of those really tricky employment tech interviews a bit easier because they could go, ah, well, you've got that trusted certificate already, so maybe we can skip like step one and just go on to the next stuff, just make everyone's life a bit easier. And I think that's about it. Thank you for listening. Let's take some questions now. Anyone, anything? Seriously, either in the other corner, I'm kidding, I'm kidding. Sorry, I haven't missed it. What's the license for the content? So the license is the same as standard Mozilla content. It's CC by SA. Have you considered crowd-sourcing contributions so they evolve? Yes, absolutely. So the question was, have you considered crowd- So the first one was what is the license and it was CC by SA and the second one was have you considered crowd-sourcing contributions? And this is an interesting one because on one hand we want to keep the curriculum kind of very slowly and deliberately evolving. We can't have people just kind of ramming stuff into the curriculum all the time because it's supposed to be a stable curriculum. But on the other hand, it would be really great to get crowd-sourced extensions because there's lots of extensions that we could publish. And they don't even necessarily need to be on the curriculum site, although it would be nice if they were. So yes, yes is the short answer. Hello. I saw that you made a really nice initiative. I think it's really good to have a baseline for people that want to join the industry, especially as front-end. And I have a question about something that's not about what you're showing, but it's related to the topic that you show. It's actually something I'll show very shortly, very briefly. That candidates using AI on interviews. So I have stopped the interviews for a while because it's very stressful. So I didn't have the opportunity or maybe I did and I didn't notice. But do you have any words of wisdom on how to deal with candidates that use AI during interviews? My company used to only have interviews. One of the major interviews was live, like with the person in the office. But nowadays it's mostly online and it will be really nice to have some kind of... So yeah, it's interesting, isn't it? I mean, years and years ago, when I worked for print book publishers, we used to have complex tools that would actually crawl the web and try and find examples of plagiarism. Of course, that's not quite so helpful anymore because the answers are just generated on the fly. One thing I've seen is some of my friends that have been hiring recently and dealing with this problem have literally had chat GPT open themselves and as they've asked the question, they've typed it into chat GPT just to see what answer it produces and gone, hmm, how similar was that thing that that guy just said to that? Oh, okay. And in terms of more sophisticated solutions, I've seen a lot of quite intelligent proctoring stuff recently, so you actually have an AI powered helper that will sit there and it will examine what they're doing and it checks for their eye movements and it checks for them doing things like, you know, being unfocused from the app that they're in for too long and all that kind of stuff. But I mean, I've seen that in a lot of examination platforms, but of course a lot of it gets really complex because it's like some of them are like, well, you've got to use our own modified browser version or app to app, but we can actually keep tabs on you whilst you're doing that. And yeah, so there's lots of solutions coming out, but that's some of the stuff I've seen anyway, but it is, it's a hard problem to solve. But yeah, thank you for the question. Thank you so much, Chris. All right. If you do have any questions for him, he's around the room outside. Yeah, thanks for listening, folks. Thank you. Thank you.