freeCodeCamp – Part 1: The First Two Weeks & Prologue

This blog, I (re-)started before the end of 2014 already. The decision to start again I already made a few months ago, I picked a theme then, and finally in the last days of the year, I actually published the first posts.

freeCodeCamp I first read about some months ago and then was reminded of it by, some time later, by someone* else. I decided I wanted to give a try, but it took me until the beginning of this year until I seriously got started. Basically as if it was my New Years resolution to start with it – except it was not. Rather coincidence that I was still a bit busy before and then finally had time to get started. Now, to “hold myself accountable”, and to advertise or criticise freeCodeCamp – let’s see how it goes – I have decided to also write about my “journey” here, too. But before, I will also tell you something about my own history of learning to code.

* Jonas from Stackademy, if I remember correctly.

Prologue: Coding vs Gaming, Getting into Tech & Codecademy

The first computer I somewhat regularly used was a 286. The first games for that I had access to were fun, but usually not that impressive. Therefore, because there was not much else to do with this thing, I spend some time trying out (at that time already quite antique languages) BASIC and Pascal. I did not get very far, but arguably, my “programming skills” peaked around that time. Soon, there was an upgrade to a 386, a color monitor and so on, and with that and friends getting computers as well, came exposure and access to more games. Games (unfortunately, in hindsight?!?) became more interesting than code, a lot more, and I spent most of my time on them. That only changed, somewhat, with the internet, starting in the late 90s. I started to get into some massively multiplayer online games and for those it was an advantage if you could publish. To publish often meant, at the very least to know HTML, but also, in some cases, to get (free) webspace on a server somewhere and access it using an FTP client. So, I got a bit back into some “technical things”, but in the end, it was mostly just publishing static HTML pages with links between them and a “design” (*cough* more like a color-scheme, actually), copied from one page to the other.

In late 2009, I started a first internship and got “into tech”, as a field. As a business student, I started in a online marketing & analytics role that had not much to do with code at all. Afterwards, I was not necessarily determined to always keep working in this “industry” either. I still do not completely rule out switching to something else (if there are any great offers… let me know! 😉 ), it just so has happened that I spent the last 5 years doing this and I might be stuck with it. And at this point, I would be quite okay with that, too. From the beginning of my time in tech, probably even before, I was interested in or curious about the technical side of things – even though it was, in most cases, “not my problem”, at all – I just did not find the time, opportunity and motivation, all at once, to really learn.

Anyways, I do not recall how I came across it, but according to my profile there, I’m signed up to Codecademy since late 2011. To date, I have 81 “badges” on there. I have completed the tracks for PHP, JavaScript and HTML/CSS and got a large part of the Python track done, too. Sounds good and it definitely is a start, but at some point I realized that Codecademy did not really get me very far and thought that the other material that was left would also not help me much further. Every now and then, I still check into Codecademy if there’s something new and sometimes I try it out then, but in general, I have come to the conclusion that it does not really help to get beyond (what I see as) the very basics and lacks in teaching you how to apply knowledge.

Getting started & The freeCodeCamp approach

Therefore, for a rather long time, I did not do a whole lot to progress further with programming skills. Until I came across freeCodeCamp (twice), basically. What I found appealing about the approach of freeCodeCamp, already at the first time, was that they do not re-invent the wheel. Instead of creating (bad?) own lessons from scratch, or re-appropiating the lessons of other platforms and calling them their own, as some (commercial) competitors probably have done, freeCodeCamp (mostly) just forwards you to free lessons of different platforms. Basically you work through a “curated” track that passes you on from General Assembly Dash, to jQuery tutorials to CodeSchool, to name the most frequent thusfar, and then to others. I think this is pretty smart. Another major pilar of freeCodeCamp is pair programming (for non-profits), but since this only starts much later, after completing the track, I cannot say much about this yet. Seems like a good idea to have some more human guidance in progressing further… let’s see if it works out (for me). First I have to get that far. Which brings me to my…

Work in Progress: What I’m currently learning about

After I revised CSS and html in the initial challenges, it’s now jQuery, jQuery, jQuery. Do this with the DOM (Documented Object Model), do that with the DOM and so on. In other ways, different ways of modifying a website with jQuery. Overall, I’m currently at the end of challenge 10, out of 53. My goal is to complete about one challenge a day, so, since I started on the first, I’m a bit behind already. jQuery is not my favorite topic and that might be why I progress somewhat slowly, although the exercises are usually not difficult. Let’s see if I will be able to progress further through some of the next challenges and catch up again. I will keep you updated!