My name is Thomas. I'm 29 years old and I've been independent (freelance) since the beginning of my career in 2015. Personally I've been developing since I was 10 years old (mainly around the web ecosystem 🌍).
I have been actively developing in Node.js since 2013 and consider myself as an Expert (I have to my credit several hundred projects in Node.js of which a major part is accessible and visible on my github).
I have worked on a lot of projects of various natures: APIs, CLI, native addon, npm packages, compiler etc.. I'm more and more interested in low level projects (C++ and Rust) related to the software world. I'm also more and more in love with the study of semantics and grammar of programming languages (a bit scientific / philosophical field 😵 ).
Beyond that I am also active in various projects, communities and groups:
- Founder and Mentor of ES-Community 💪🚀 (French-speaking JavaScript and Node.js community on Discord since 2015).
- Lead maintainer of a large open-source project: NodeSecure, TopCli, Dashlog, Openally
- Node.js contributor 🐢 (Member of the Security Working Group 🔓).
This document is mainly aimed at developers (beginners or not 🐣) who want to move towards a Node.js back-end career. Potentially to people wishing to establish a cross-functional career with the motivation to undergo a rise in skills both back and front.
👀 As far as I'm concerned, I already had a significant experience in front-end when I started in 2013. So I can't blame you if you want to have both skills to your bow (but beware it's far from simple).
The document is not necessarily intended to be a vulgarization of existing resources that already do that very well (unless I think I have the opportunity and the skills to do it better). I prefer to see it as a portal to a much better set of references.
It is always a pleasure for me to help others and share my knowledge and references ❤️. I already do this on a daily basis through the various communities and groups I am active in.
It is also an opportunity for me to work on building a document that brings together much of what has made up my journey 📚 (and potentially challenge myself and do some new research). This should make it much easier for me personally to train juniors and mentees by helping them with my own document 💡.
The document includes a set of references (links) to videos and articles that are segmented by level of difficulty and language (FR French or EN English).
[Beginner] These are often popularization or information resources accessible to beginners. Be careful on certain tough subjects, the notion of a beginner can nevertheless imply that you have acquired skills.
[Intermediate] These are resources that require a certain foundation to be able to approach them. However, this does not mean that they will technically require a long time to be addressed.
[Advanced] Unlike intermediate, advanced resources are much more technically and practically hairy.
[To know] These are links dealing with subjects that are interesting to know (often details on the functioning and behaviors that are not well understood, etc.). These are often beginner/intermediate resources.
The ratings are not perfect and they are here mainly to try to guide you as much as possible.
⬅️ Becoming a Node.js developer 🐢🚀 | ➡️ JavaScript: 🌞 Introduction