 Hi, this is your host up in Bhartya on behalf of the Linux Foundation and today we have with us David Mark Clement Principal engineer at CTO.ai today We are going to talk about this introduction to Node.js training that is started by a Linux Foundation Before we go there. I want to just quickly learn a bit about you. I've been working with node since about 2011 I got into it because I wanted to Find something that was good for the for building sort of real-time stuff back then I came across it There wasn't a lot of documentation. There wasn't a lot of books and I ended up Putting in a book proposal and writing a book called node cookbook, which is now in its fourth edition I wrote the first three and the third one with some some guest authors, but another person has written the fourth edition But yeah, so I started off by by just sort of really Deep diving into node and the node ecosystem at the time. I Went from doing that to doing contracting and consultancy Ended up with a company called near form where we did a lot of different projects and consulting and different things like that and then as part of The conference speaking and the different things that that ended up getting involved in in creating the Certifications that would probably talk about and also this sort of this training that we'll probably talk about as well If you look at node a GS I think it has been around for almost 12 years now and it continues to remain one of the most popular Most used one of the most used technologies. So I wouldn't understand from your perspective is that what contributed to to its Significance importance even in today's modern IT and cloud native word There's a lot going on there. I think one of the the key things is JavaScript JavaScript is the lingua franca of programming languages just because of its presence in the browser Pretty much anyone who's who's programmed The deals with anything that ends up going to the web has at least, you know Don't abuse source and looked at and looked at that So that's that sort of that familiarity. I think was was responsible for some of the early success I think that JavaScript is a language as an event driven Language is both compatible with user interactions like in the browser and it's compatible with network interactions like with node So using JavaScript as a mediator language It has I think been key to a lot of its success Because it's because of both node and then The browser and the browser before it I think at some point a network effect start to kicking as well in terms of how many people use JavaScript and that made it sort of a commodity language Which means that it's easier to hire for so if you if you build things in JavaScript you as a company then you you can have access to a market that has Sort of a wide Selection of of engineers that may know JavaScript and something else as well So I think that's that's a big part of it I think the other thing was in the original days of node having a small core and keeping it quite small for a while Led to a lot of innovation Into building different types of things with it so you can build CLIs with it You can do do IOT with it as well as your as the websites and different things like that So the fact that it's more of a platform Just just has allowed that that dynamic to to grow and for different people to do different things with it And then there's npm of course, which is the the package manager and registry for node and The front-end space coming in and using npm for packages in the front-end space Created another dynamic where you have this crossover between front-end and back-end and again That's another hiring plus you can hire people that work it with JavaScript on the front-end that could also potentially do back-end stuff So I think that's a lot of what has driven the success of the language one other thing about JavaScript as a language is the is the The the nature of the language itself. It was it was written very quickly in a sort of Sort of chaotic tumultuous time the browser was in the 90s And I think in a way the language itself Sort of it is a little bit chaotic and that in Sort of represents reality a little bit more in my view the languages that are much stricter You by by by having sort of a messiness that's inherent in the language it kind of in my mind helps me to think about how to how to Code in a way that represents the real world as much as possible when we look at Linux foundation You know, they keep coming up with reports that there's a huge gap in supply and demand of a lot of you know Talent pool. So what is the situation with node or GS? How does the demand and supply of talented people look like there? What are the pain points? Yeah? I think there's I think there's a supply and demand problem in tech Generally, right? But obviously the the Java landscape of from coming from the 90s and forwards There was so many people that trained in that at university and different things because that that just was the default language And it was kind of it was the language of business and things like that The the sort of evolution towards using JavaScript because of the things we discussed about it being the lingua franca and different things like that Has led to you know a need for for people who do that It like to date really It's a lot of a lot of hiring has been done just based on experience. There hasn't been any certification or Official certification by a foundation. I mean or training. There's been training but not that leads to certification so The the the the supply and demand problem. I think to a certain extent as well is Establishing what someone's skill level is in the language And and hiring on a sort of a standardized Scale For for that skill level and that's that's very difficult to quantify in any programming language and it seems extremely difficult to quantify in JavaScript because of this because of the fact there's so many use cases for it and that and ways to use it and it's also a very Flexible language and can be used in different ways in and of itself So when it comes to to all of that one of the things that I've worked on to try to help with Selection and employment and different things like that is Figuring out a way to create this as sort of a standard level where on a pragmatic Level you can Determine whether someone has the the skills needed for this particular job And that's that's one of the main reasons I got involved in in working on the certifications, right? So let's just go a bit deeper into the the Alliance foundations in the online course, which is a fro free course for no doubt I want to just can you just tell a bit more about what is all about? Who is it targeted at? There's a free course on on edx There's also There's also two other courses For certifications and these are all provided by the Linux Foundation the free course is a sort of a Slightly deep dive kind of ramp up throw you in the deep end and and build some stuff We build a CLI tool. We build some mock services and we build some real-time services as well And and then put them all together in this course and it's it's really just to to give people a way to sort of not just dip their toe in the water, but kind of immerse themselves in in the in building something with node JS and seeing how that feels And it's it's it's there to help people acclimatize to The versatility of working with node And to potentially then take next steps from there To to work To work on other things with node do you go in different directions from that from that free course you did talk about there are multiple courses Can you just give a quick kind of overview or summary of the free course? So the free course is Six chapters and it talks about It starts with a front-end that's just given to you and then it helps you build a Backend to it, but where you're you're mocking some of the back-end pieces and it's a focus on When you're working in an environment An enterprise environment or start-up environment doesn't matter You don't always have access to Services in local development. They might not exist yet Or there might be problems with just getting the the operational parity right in your local environment so the the first chapter talks about how to How to build out these these mock services that you can use to integrate a front-end with So that you can get a happy path a happy path kind of flow Of say data between a front-end and a service or a service and another service Then it goes on to building a CLI tool that integrates with that with that service as well and then we go on to building real-time services to show some of the Versatility that node has in dealing with Just like that real-time mediation. It's it's can be really good for that as well as the other things So once somebody has completed this course, I have two four questions for number one is that what is the next step for them? Like you have prepped them about the technologies. What is the next that they should do number two is that once they have taken the course What are the things that they are capable of doing so in the last Section of the free course. We do talk about what the next step should be I think the the the main one is to move towards getting certified because If you go through the the certification training, there's an amount of rigor that's applied that Puts you on a level that That we can establish that from a practical point of view that you can actually build things with node There's two certifications. One's the javascript. Sorry that one's the node application developer Certification and the other is the node services developer certification. So in the free course, we actually build some mock services but the services Developer certification and the training is a focus on on building real-world services and of and also covers Security, this is a really common use case in in building But things with node For for enterprise and startups Just building Jason and restful services So we have a whole certification dedicated to that because it is quite a common case. Then we have the node application developer certification That that covers the a broad surface area of use cases with node. So the focus isn't on on trivial like minutia like do you do you understand like The details of certain core APIs or library APIs the focus is on Here's a practical problem. Can you provide a practical solution with node either using the core APIs or using libraries? Or using a framework so If you go from the free course into into this mode Both of those courses prepare you for for workplace Activities For doing things that are actually practical with node And then if you can go through that and you can get the certification Then you can show to an employer that I've met a minimum standard for working with node which the Certifications are up at intermediate level. They're not they're not easy but they're there That's that's the whole point is to make them hard enough that the rigor is applied to show that you have what it takes to Be paid to work with node Awesome before we wrap this up a last question that I have for you is that Why should Greenhorn or new developers? They should look at node.js as a technology or language or a whole platform to build a career on So why why should new developers get into node.js? I think that's a really interesting question because The first thing way to answer that is to think about where is node going like is node going to last Because you know if you if you invest so much time in in specializing in node You're gonna want it to last, you know for maybe maybe at least 10 years So does node have 10 years? Left definitely easily So much stuff has been built on node That in in terms of maintenance alone like we're not saying goodbye to it anytime soon There are newer languages out there that rust is a very compelling language and different things like that So it to a certain extent it depends what you want to do With with node Your positioning is the the front end of the back end. So you're not necessarily building Highly integrated pieces You're building pieces that integrate with other parts of the stack most of the time So if you have a leaning towards the front end as well, then it can be a good space But equally I know people that have come from doing architecture and and and back end pieces and move into working with node It's kind of a middle ground, but If you're getting into the industry JavaScript is in high demand Learning node means you learn JavaScript, and if you know JavaScript, then you can do browser stuff as well So you've got this nice cross-section of things that you can work with and Yeah, it's There is no right answer to like what language someone should get involved in But I think that node is a good answer for what you can get involved in I think that there's So much going on with it, and there's so much that's already been built with it that It's a no-brainer in terms of higher ability David Thank you so much for joining me today and talk about not only the important significance of node use It's also the resources that Linux Foundation is creating For for those who are you know interested in the technology and I look forward to talk to you again So once again, thank you. Thanks very much