HackerRank challenges and other options to learn how to code

Programming is a journey which basically never ends. That’s one of the things I like about it. So in order to ride this wave you need to stay on top of it. And there are multiple options for each of us to stay up-to-date with what is going on. Let me tell you what I’ve chosen and how it is going for me.

Step 1: FreeCodeCamp

I am mostly a backend developer. I grew up working in WAMP environment (Windows, Apache, MySQL, PHP) and it is still the one I use most often. I’ve also learned some stuff about frontend, but my knowledge about it is limited. That includes JavaScript, which I was using mostly for enhancing websites with jQuery. Then I got to know AngularJS and I’ve decided to deepen my knowledge of the language which is right now so trendy. And FreeCodeCamp seems to be a very good place to go to. They offer plenty of inspirational articles on Medium, they offer a complete course of JavaScript with certifications and finally they offer real life problems to solve for you, ones which you can put in your CV.

So, I’ve signed up for it. I am now somewhere in the Intermediate Front End Development Projects section and I have to admit that I’ve put it on pause for now. Why? Because I got myself involved in other projects, which I list below. But once they are done, I am going to get back to it, because I believe that it is worth my time.

Step 2: Chingus

Among the initiatives that animate the FreeCodeCamp there is one which helps to stay familiar with how it is to work in a team - chingus. It is useful for a person like me who usually works alone. The idea behind cohorts is that there is a project (or a challenge if you will) which needs to be tackled in small teams. Those willing can sign up and then are split into teams. Slack is used as a default tool of communication. Kudos to @chance who made it all possible.

Step 3: Machine learning

Since the idea of bots became popular (which is around a year ago when Messenger started supporting them and the community was hyped), I’ve decided that it will be very useful to understand how machines learn to communicate, but not only. After all, we live in times when autonomous cars are on the streets of many cities and when machines will need to solve big, philosophical problems. So I’ve signed up for an MOOC at Stanford. It’s harder than I expected with a lot of knowledge being given every week of the course.

Step 4: HackerRank

There is a bunch of sites where programmers are faced with challenges to solve. Their solutions are graded, so they learn not only how to solve problems, but also how to do it in the most efficient way. I chose to go with HackerRank, because it had what I was looking for and it seemed to be a popular choice among other programmers that I am in touch with. It has support for the three languages that I want to explore (PHP, JavaScript and Octave) and it has challenges for Machine Learning which I hope to crack once I will finish the Stanford course.

That’s it. It is already too much, considering that I have a day job where I code as well. I need to start finishing these, before I will find something new, so wish me luck :)