Where Should I Start?
Let me start with some personal background and my learning story.
HTML and CSS — Programming Illusion
It shouldn’t be a surprise that one of the first websites about programming that I had found, was freecodecamp.org and their “Responsive Web Design” course. It was the place where that first spark with coding happened. Meanwhile some few additional resources, a few YouTube videos and viola! Here I am in the game, after a couple of hours I can build my own website from a scratch, in notepad, using not one but TWO! “programming” languages — HTML and CSS, but hey! Are those real programming languages? Or maybe it is just a way of “coding” things or even a tool?
Digging Down The Rabbit Hole
At that time, I had no clue what are the languages of programming, what were the differences between them, and their purpose. Digging, digging and digging, down the rabbit hole, deeper and deeper every day. My curiosity and optimism about programming was that high, that I was trying to learn something new, nearly every day. Shortly after that, I have got Android Studio and tried to build my own android apps. Later on, somewhere I have seen Python. Going back to Java, to automate some of my tasks at my current job, and eventually building even some Arduino projects, binding them with “my” Android app written in Java. Wait for a second! Where am I going? Ok, let’s slow down a bit. It is true that within a relatively short time I have managed to pick on so many technologies, and actually build some projects, but the truth is it was more just like putting puzzles together and making them work.
Where Am I?
I didn’t know the core fundamentals and didn’t actually understand how things work, and sometimes even didn’t understand what am I doing. After months of constantly trying new technologies, going through different tutorials such as freeCodeCamp, Codecademy, Udemy, Udacity, SoloLearn, W3Schools, Edx and few others, with some success in ones, and failures in others — I was completely lost. I definitely enjoyed doing it, even though I have already spent hours and days trying to fix small bugs in my “copied” code to make it work, that is why I didn’t want to give up. It was definitely time to take a step forward, and finally, focus on one technology.
React, was one of the technologies which sounded like the one, having the highest potential, giving you the abilities to create a huge variety of apps for different purposes and also the possibility of gaining a “valuable” skill one day. Scrimba, recommended by freeCodeCamp indeed, looked like a very cool option. I have spent another few weeks on trying to create my own clone of YouTube, building a server-side with Node.js, connecting it with MongoDB for the database purposes, and deploying everything to Heroku with the help of Amazon Web Services for the static files. Ok, I made it once again, but let’s be honest — again it wasn’t me, it was thanks to people on Stack Overflow and others, who shared their bits of code here and there.
Going Back to The Start
I Couldn’t See Anything
What Is Next?
In this way we are coming to the end of this short long story of one course on freeCodeCamp, I have to admit that I still struggle a lot with some of the exercises in that course and I used a lot of help from the others. freeCodeCamp probably won’t teach you an entire language on some solid level, but because of it’s very demanding way of learning, it may teach you how to think about solving programming problems. Learning any programming language is a never-ending road, as there are countless ways of solving a given problem, and this is the beauty of programming in my opinion. That is why, once you are in, DON’T STOP! and keep on learning, practicing and digging deeper every day.