This article was originally posted on my blog. Head over to inspiredwebdev.com for more articles and tutorials. Check out my JavaScript course on Educative to learn everything from ES6 to ES2019.
Hi, I am Alberto Montalesi, a full-stack self-taught developer. I create JavaScript tutorials and courses on my website inspiredwebdev.com to inspire other developers to grow and build the career that they want.
Many of us are currently stuck at home because of the Covid-19 virus that spread all over the world and only a fraction of us is lucky enough to be able to work from home, leaving many others unemployed and with a lot of free time at hand.
Netflix and other services planned, or are planning to lower the quality of their services during this moment to save bandwidth as an unprecedented amount of people are connected to the internet, using streaming services the whole day.
While it's important to take care of your physical health by washing hands, practicing social distancing and staying at home, I think it's equally important to take care of your mental health as well.
In this article, I want to give you an alternative to spend your time that will hopefully help you feel more engaged and motivated, compared to sitting in front of a TV the whole day.
I'm not trying to judge anybody, I understand how you can feel after having lost your job, my aim is only to provide an alternative to spend the day that will make you feel rewarded when you go to sleep.
What I'm saying is not that you should stop using Netflix and similar at all, just that it's not good for you to get stuck on your it for the whole day.
I am Alberto Montalesi, a self-taught full-stack developer, author of the book Complete Guide to Modern JavaScript, and I want to share with you why I love programming and why I think it would make a great hobby for you.
Alternatively, if you are already a programmer, you should still find something interesting in this article so keep reading!
Why you should learn to program?
This article is not about switching careers and becoming a developer, even though that's what I did.
I got into programming at the age of 24, after a Bachelor's of Law and the reason why I got into it was by accident, thanks to my girlfriend ( if you are interested, I've got a whole story about my career switch here).
Before getting into coding, I always thought about it as something difficult and only for very smart people. That is only partially true, sure there are fields of it that are very complex and you won't be picking them up in a few weeks, but you don't have to be a genius to start!
Also, you don't need to love math to be a programmer! That was a misconception I also had before starting.
Anyway, the reason I love to code is that I can be creative and build useful tools for myself and others with only the use of my laptop. I don't consider myself a creative person, I don't play instruments and I don't know how to draw but programming allows me to be creative in more unconventional ways.
Also, it's a very inexpensive hobby! You only need a computer, which most of us already have and it doesn't even need to be a powerful one and you can start building simple websites, games or tools to use in your daily life.
The other day I was thinking that it would be cool to let the users on my blog to be able to highlight the text of an article to tweet it, so I spent a few hours and built a plugin to do that and then wrote a tutorial to teach others how to do it.
For as much as I love binge-watching shows and playing videogames the whole day, the feeling I get when I spend some time sitting down and writing code to create even simple projects like the one above is much more satisfying and rewarding.
Also, I mentioned before that this article won't be about a career change but if you end up loving programming as I did, it's a career full of opportunities, most of them that allow you to work remotely which is proving to be a lifesaver for me as I'm still able to work and pay my rent even though everything around me is shutting down.
How to get started learning to program?
A lot of companies are offering extended free trials of their products or free courses to encourage people to pick up programming during this period of quarantine and lockdown.
I'm now going to go over a few that I've tried and I know that are good places where you start learning as a self-taught developer.
A good place where to start is the CS 50 course by Harvard which covers the very basics of Computer Science and it's very well taught. You can take this course on Edx. It's sort of a must if you have zero knowledge of programming, it will give you some good foundations so you will understand what those other tutorials are about when you start reading them.
If you are a student, you can take advantage of CodeCademy Pro (read more here) where you can start learning the basics of languages such as Python or JavaScript and practice with simple exercises.
These two languages are very popular and not too difficult to pick up. There are many tutorials out there to keep you busy trying to build small projects.
The best starting point I think would be HTML and CSS, used respectively to create and to style web pages. They are not programming languages but I included them as together with JavaScript they are the building blocks of basically every website on the internet.
HTML is very easy to pick up and it's quite fun to create your website so you should give that a try.
Another website I highgly recommend is Educative where you can find many interesting courses for free such as this one on Python. I also authored a course on Educative about JavaScript which you can find here.
Coursera is another great website where you can find high-quality courses, not only about programming. I really enjoyed taking this one about HTML CSS and JavaScript and it's totally free.
The last website I want to recommend you is FreeCodeCampwhich again covers HTML CSS and JavaScript with interesting lessons, exercises and projects. Most importantly, it also boasts a huge community of developers that help each other. They have a global Facebook group and many local ones full of nice people ready to help you so I recommend you join it.
During this time of quarantine, being part of a community, helping and keeping each other motivated is vital to get through these difficult days.
To reiterate, if you are completely new to programming, CS 50 by Harvard is a great choice to get to know the basics and it will only take you a few days to complete.
Once you are done I suggest picking up HTML and CSS as they are very easy and, in my personal experience, they proved to be a great introduction to what the programming world was about from the eyes of a total noob.
After that, dive into JavaScript with one of your choices from Educative, FreeCodeCamp, or Coursera. None of them will disappoint you.
There are many other websites you can use, such as Udemy, Udacity and Khan Academy but I didn't want to overwhelm you with links.
Joining a community is also important to keep yourself motivated, especially during this moment, so get yourself Discord, Reddit or Facebook and join a group, introduce yourself as a newbie and you will find people willing to help and guide you further.
If, on the other hand, you are already a programmer, use this time in quarantine to learn something new. Maybe you know JavaScript and you are good at it so why don't you try learning Python? Or maybe practice your skills on some challenges at CodeWars or try working on a project to challenge yourself.
Conclusion
Stay motivated and always try to finish your day with something positive to look back at.
It can be something as simple as learning what is an Array
, or what are functions, it's not important as long as you feel like you did not waste your entire day in front of the TV, just letting time pass by.
Take programming as a hobby and don't feel discouraged if you get stuck for hours on something you don't understand. It's just like in a game, when you get stuck against a difficult boss, just go take some side quests and level up and come back stronger.
If you want some more information or help, feel free to reach out to me on twitter @albertomontalesi and I will try to help you.
Thank you for reading, if you like this article please share it with your friends and follow my blog inspiredwebdev for more articles and tutorials.
Thank you very much for reading. Follow me on DevTo or on my blog at inspiredwebdev or on twitter. Check out Educative.io for interactive programming courses.
Disclaimer: Links to Amazon and Educative are affiliate links, purchases you make will generate extra commissions for me. Thank you
Top comments (1)
Great article! Many useful links! I recommend starting with CS50 too. I completed this course as a beginner too and it gives you great start.