Why Free Code Camp is Magnificent

Free Code Camp is Magnificent. Here’s why.

Todd Cullum
7 min readSep 15, 2016
Hi, I’m freeCodeCamp. I can help you succeed.

You may be surprised to hear that I’ve gone through several phases in my short-but-extremely-intense coding career, which started May of this year (sans some 11–12 y/o coding way back when).

As a recommendation from a personal friend, I first learned the C# programming language. Shortly thereafter, I realized, like many others, the value and demand for Web Development. This, of course, led me to learn HTML, CSS, and JavaScript. Upon signing up for a GitHub account, Free Code Camp popped up… And I loved the idea: Free education and training, in exchange for some donations (I donate to Coder Dojo each month) and/or charity projects.

I think I did the first 100 challenges in a day or two. Not because I’m that much of a whiz… But because I spent like 15 hours a day doing it.

However, along the way, something in the back of my head, perhaps my 11 year old self, who had learned C++ PHP and Python back in the day, told me that what I was learning was by no means complete or thorough; I felt like the challenges, when tackled in a linear fashion, were more of a “preview” of Web Development.

Then I hit it, I got to that damn Record Collection challenge… And boy, was I stumped. What the hell are these JavaScript objects anyway, and what is with the colons? What’s with all the nesting? What is this question even asking!!! GWARTHG$(*@)#&*(#)*($!!!!!

And it didn’t stop there either, the Profile Lookup was just as bad. These two challenges had me wanting to take a bunch of “records” and “profiles” and throw them into a fire… And quit JavaScript.

Collect THIS RECORD!!!

But, I didn’t.

I realized, “okay, it is time to get out there and find more resources because I clearly don’t understand what’s going on here… But I know I’m smart enough to understand it because I can understand Classes, inheritance, objects, polymorphism, encapsulation, etc… in C#.” The only problem that could arise is if someone didn’t have that foundation, they may lose hope. Luckily, I had already had a foundation in programming, which helped keep my confidence and determination high.

In fact, after I had solved these challenges, I heard countless times…. Over and over in the chat room and forums how frustrated people were becoming with these challenges… And I got pretty mad. I don’t like it when newbies get turned off to programming, get frustrated, and give up. It’s just a pet peeve of mine.

However, the fact is, these challenges ended up helping me… Tremendously. They taught me to grab a note pad and read through the instructions, writing down every single bit (use case). They taught me to create a diagram if needed, further simplifying and visualizing what needed to be done. When attacked this way, these challenges were much easier to deal with.

These challenges also taught me to get my butt out there and get external help: to further my self-learning career by purchasing online courses and books… And I’m talking about $12 courses from Udemy and used books people… If that’s a lot to ask, I don’t know, maybe skip the 6 pack this week? But to be honest, you don’t even have to do this, there are plenty of totally free books and YouTube Channels out there such as thenewboston.

In any event, Free Code Camp is not and should not be viewed as your typical “curriculum.” It is incomplete, and really is a preview of what you can do with coding. However, make no mistake, the algorithms included will work your silly little ass and while you may not be writing algorithms every day in web development, if you can work through this curriculum, you can do pretty well.

My team and I won our first hackathon this past weekend. The biggest thing I learned from this was just how effective FreeCodeCamp was. Why? Because in the middle of the hackathon, I ran into issues that tested my patience in the same manner as those two challenges I mentioned, and I reverted back to the methods I learned to solve them: Proper notes and external resources.

In addition, at this hackathon were many other students from other, non-freeCodeCamp training backgrounds (other code school, programs, etc…) And quite frankly, the students from freeCodeCamp kicked some serious ass in there.

The fact is, as a programmer, you will run into frustrating walls and roadblocks just like the Profile Lookup and Record Collection. And if those were easy for you, trust me, you’ll meet your match soon enough. The point is not how hard the challenges are, but the methods you learn to continue progressing and solving challenges. You will become faster, smarter, and better at solving difficult problems… These are skills that freeCodeCamp will indirectly teach you. But it does require you to stick with it.

But that’s not all… There is one, arguably more powerful aspect to freeCodeCamp which is nearly unparalelled — The community. I now attend a weekly meetup in my area of folks, which is a freeCodeCamp local meetup. Through this meetup, I have met amazing people. I have made friends with similar interests, networked, been invited to all kinds of other meetups, met likeminded programmers, found out about hackathons, etc… And it gets better and better every week. Our little group continues to grow and teach/help each other, while also building friendships. It’s almost like something out of a movie.

And best of all, this doesn’t just occur in the in-person groups… The forum and chat rooms on the website are also full of helpful people… Non-StackOverflow style… Meaning you won’t get your shit shut down, closed, and get mocked in the comments… Well, not usually… That depends on whether or not I’ve had my coffee for the day of course.

The point is, freeCodeCamp is easy to love at very first, then easy to hate shortly thereafter when you get stuck. However, it is subtly and indirectly helping you. Let’s face it, the facts are out: Software Development is mainly a self-taught discipline. Meaning, if you in some way shape or form cannot figure out stuff on your own, this is not the career for you. The same skills needed to get out there and find good books, references, and courses (not very hard anymore) are also needed for you to succeed when you run into bugs, exceptions, and errors that stump you during a project. If you cannot handle getting frustrated and having to search for answers, find another career path.

Another huge thing I want to mention that freeCodeCamp has going for it is the creator: Quincy Larson. Quite simply, the man cares… And this is huge. Just as a greedy CEO’s behavior has a trickle-down effect in a company, Quincy Larson’s dedication and care to helping hobbyists, the unemployed, and even seasoned coders improve their coding trickles down into freeCodeCamp. If his volunteered time into this project, constant thought-provoking articles on Medium, and lack of any egotistical presence in the community don’t convey this message, I’m not sure what will. I don’t even always agree with everything he says, but the positive impact he’s had on thousands of lives is crystal clear.

Quincy Larson, founder of freeCodeCamp

Last but not least, I want to take the time to address the hate I’ve heard as well: There are a group of programmers out there who have told me that freeCodeCamp is garbage, it’s “not a real education”, and that coding bootcamps are a scam… etc… For a while, I started to even be concerned that what I was learning was not that useful… But then I started to conquer the things that are “useful” and realized, they are actually the same. If you have the aptitude and determination to tackle the freeCodeCamp algorithms, you can handle the “more advanced” stuff. Why? They all uses the same type of left-brain thinking.

It’s true.

At this point, I’ve become part of an entirely different community… One in which some odd folks try to make sound “Elite”: The ASP.NET/.NET/C# community. I’ve learned things like ASP.NET MVC, Web API, Unit Testing, Entity Framework, Repository Pattern, Factory pattern, all kinds of other high-level-of-abstraction jargon and bs, and am even learning how to set up my own encryption and identity servers as well as “from scratch” servers entirely in C# without the help of scaffolding and other shortcuts. I truly love the .NET stack and C# and consider myself to be a C# programmer. My passion is writing APIs to be consumed by front-end coders using JavaScript/frameworks. But most importantly, I’m able to work on projects that I truly enjoy and make a difference.

However, the fundamentals are still the same. No matter how whizbang you get, coding is still nothing but manipulating the computer using logic to play around with data. I use the same techniques when I run into a entity relationship problem with my object relational mapper as I did when I was figuring out that profile lookup challenge…

Am I saying freeCodeCamp is perfect? No, that’s silly. I’m not even telling you that it is 100% the best resource for you.But what I am doing is explaining how it worked for me so that you can maximize its value for yourself. Just like anything else, freeCodeCamp could always be (and is being) improved. But don’t expect it to be your traditional college course; it is different for a reason and I am curious to see how it continues to develop.

Cheers and happy coding.

--

--