I’m doing my 5th #100DaysOfCode, this time, learning Node.JS.
Why it is so special? Because I’m doing another challenge at the same time. And I’ll be spending 6 hours a day doing both challenges. Yep.
What is #100DaysOfCode?
In case you don’t know what the 100DaysOfCode is, let me give you a brief explanation.
100DaysOfCode is a public commitment where you swear that you are going to learn some coding concept (A new language, framework, tool, etc) for the next 100 days, at least 1 hour each day.
You made it public so you feel pushed to do it. You can also tell your friends, significant other, family, workmates, etc that you are going to do it too, but the point of #100DaysOfCode, with the hashtag, is to find people on the same boat as you, sometimes even learning the same as you.
And a great way to find new friends.
How to do it?
For example, today I started learning Node.js. After 4 hours and half, I posted this:
Writing the tweet, I used the challenge hashtag, plus another one for Javascript and another one for NodeJS. This way I can find people learning NodeJS, and they can find me too. And if they need help, they can find me (as well as other people) easily.
And you can follow me too on Twitter (I’m @DavidMM1707, by the way!) and my progress with NodeJS.
More information on the official website: https://www.100daysofcode.com/
What I want to learn and why
Professionally, I have been using Django and Django Rest Framework daily for more than 10 months and Vue for more than 14 months. More, if counting personal projects, tutorials and fooling around in general.
Since I tried it, I loved Python and Django, but I saw that a lot of jobs require NodeJS, so I thought: Why not?
I have been using Javascript for years, it was the first programming language I feel proficient with (if you can say that in the programming world!) and I like its pros (Speed and performance sending/receiving information, using Javascript both at the FrontEnd and Backend, how it handles sockets and threads, etc).
While I fooled around, toying with Node.Js from time to time, never using it for more than one week, but I find like it “clicks” in my brain.
I love Python (I don’t know how many times I have said that on this blog), but Django took a while until everything clicked me. Like one year or so.
NodeJS seems interesting, easy to learn, with a lot of job opportunities, so I thought: Why not?
I want to learn NodeJS, especially, how to create REST APIs. Even more, REST API with sockets. And as I’m learning Flutter too, it would be cool to create REST APIs that serve information to my Flutter apps, using a language pretty close to Dart.
Doing two challenges at the same time
“Shouldn’t you concentrate on just one technology at the same time?” “Why not learning Flutter THEN NodeJS?” “How the hell are you spending 6 hours each day learning both???”
Yes, I can hear you from the other side, so let me answer those questions.
Why learning both technologies at the same time
I could focus on just Flutter and then NodeJS, but Flutter is something special I’m learning on the side. I don’t expect to find a job where I only use Flutter in it (but if a job offer comes, I won’t say no!), I’m just learning it because it seems interesting.
I’ll spend 4 or 5 hours each day learning NodeJS for my own future, and 1 hour of Flutter, for having fun.
Why you can spend 6 hours each day to just learning?
Well….I just left my job last week.
As I want to work and improve as a BackEnd developer (not shying away from FrontEnd and DevOps stuff, from time to time), I was relegated to a FrontEnd developer role on my previous work.
It was hard at first since I was the only one at my job doing that, so I had to learn on my own. But after one year using Vue, where I learnt a lot, I felt like I new everything I need to know to perform my job, so it became a bit dull and non-challenging 95% of the time (with the ocassional tricky bug being the exception)
While I was comfortable doing what I was doing, I never liked FrontEnd too much, and I felt like I wasn’t progressing towards what I wanted to be, a Full Stack programmer, so I left. Not for another company, not to going to college, but to learn by myself.
And now, I’m going to spend my time becoming a better programmer. I want to learn Flutter, NodeJS, going deeper in Django, Django Rest Framework, Docker, Testing, CI and more.
But, as we say here: First the first step, then the second.
And that’s why I’m learning NodeJS now. Yep, 4 or 5 hours each day. For 100 days.
Conclusion
Leaving my job to focus on learning, check. Going crazy learning 6 hours each day, from Monday to Sunday, check. Trying to explaining that to people that doesn’t know me without sounding I’m a bit nuts, check.
The only thing that is left to me is to recommend you to do the same.
No no, don’t quit your job! Just the learning a new thing bit.
Pick something you always put on your To-Do list. Maybe you wanted to learn Go language, or SCSS to create beautiful websites, or maybe you would like to learn NodeJS as me too!
Think something you always said “I want to learn this. Yeah, someday I will do it!” and start today.
Go to Youtube and search something like “Go tutorial” or “React crash course” and start learning. No pressure, just you, your computer and one hour of your time. Just for 100 days.
You will be amazed on how much you can learn, just by learning each day, one step at a time.
In fact, that’s how I had my last job.
My first #100DaysOfCode challenge, one year and 5 months ago, was about learning Vue, and that’s what I did on my job.
Maybe doing the challenge can improve your current job. Or get your first job as a developer. Why not start today?
Write a comment telling us what are you going to learn and why.
You can follow my progress daily on Twitter (DavidMM1707) and learn more with my tutorials on my Youtube channel.
Contact me: DavidMM1707@gmail.com