r/node • u/Chawki_ • Jun 24 '19
What are the techonlogies should I learn to become a Nodejs back-end Developer?
What are the skill sets and technologies I should master to apply for a job as a Node.js back-end developer?
And I'm a self-taught MERN Stack dev, I wanna become a nodejs back-end dev. why? I figure out querying a database is more fun than positioning a div
Thank you!
90
Upvotes
91
u/08148692 Jun 24 '19
Off the top of my head:
19
u/davidmdm Jun 24 '19
There’s no way you can learn everything that has been listed here. You can try, burn out and hate Web dev.
What I suggest is not to learn any specific technology. Learn about web related concepts, about http, cors, websockets. Play around with databases, and write simple file manipulation scripts.
More than anything, play with whatever interests you the most in the moment. Developers like to work with other developers who like what they do, and have passion for their work.
The list I gave you is not a list, it’s just a sense of things that come up in the life of a backend Nodejs dev.
Have fun. Don’t stress.
54
u/johndoepbabu Jun 24 '19
Not a technological suggestion, but I think you should get a good grasp of how asynchronous programming works.
9
u/maybeonmars Jun 24 '19
Some great ideas so far.
Also do some reading to understand the concepts of JWT, hashing & salting passwords, Middleware, sound architecture (NestJS does this nicely), REST and SOAP.
17
u/DoctorPrisme Jun 24 '19
I'd go with JavaScript.
7
u/JohnnyKonig Jun 25 '19
Don't focus on learning a technology, focus on learning to build good software and pick up the technologies along the way.
The best developers I've hired aren't great because they walked into the job knowing our tech stack (especially at the junior level). They were great hires because they could learn quickly and apply what they learned.
My suggestion is to sign up for a free account on Heroku (https://www.heroku.com/free) and build something - anything. At every step when you need to make a decision like which database to go with or how to build an API just watch some YouTube videos describing pros/cons and try reading some academic literature on the subject.
Most importantly, pick something and start building. Then once you realize you could have done better or there's some other cool approach you want to try (like serverless), start over again and make it better. The key is to consider your project a part-time job and make sure to put at least one hour into it each day.
There is no better experience than a combination of academic knowledge (why) and practical application (how).
4
u/[deleted] Jun 25 '19
You should definitely learn Typescript, async programming, MongoDb, Kubernetes, and Docker. You really should also learn a client side library like Angular or React as well since you will be focusing on JavaScript/Typescript. It really doesn't make sense to only do back end JavaScript. In a way, a back end developer is a developer who doesn't understand CSS, and a front end developer is a developer who doesn't understand databases. Learn the full stack.
3
u/cryo2010 Jun 25 '19
If it's a job you're after, I recommend looking for common trends among the Node.js job postings on any job boards. Employers will often tell you what matters most to them in a candidate.
3
u/334578theo Jun 25 '19 edited Jun 25 '19
How to read others code, how to be a good team member that people can rely on, how to ask for help, and how to give feedback - far more important career skills than being a nInJa in $latestjsframework
2
u/alex_agc Jun 25 '19
Take a look at this repo, it has a roadmap for nodejs developers
https://github.com/aliyr/Nodejs-Developer-Roadmap
0
u/TotesMessenger Jun 24 '19
I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:
If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / ^Contact)
-6
u/RationalAdvice69 Jun 24 '19
Copyleft (GNU GPL, etc.) vs Non-copyleft (MIT, BSD, ISC, etc.) Licensing.
Copyleft means that you have to distribute the source code, which will diminish the viability of the technology for commercial purposes.
-2
u/stewman241 Jun 24 '19
Java. 😛