π Introduction
π Who am I?
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 π).
Β
π For whom?
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.
Β
π¬ Why?
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 π‘.
π Legends
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