Recently, I’ve been working on a project that implements a React/Redux UI. I’m very much a React/Redux (and Javascript!) novice, so I reached for the documentation and got to work.
This got me thinking about when I first started learning to code. I would rarely visit the documentation for anything.
Maybe it was because I felt that the technical content would be over my head, or maybe it just never occurred to me. But now, the documentation is the first place I navigate to in order to learn something new.
How I learned to code
So, if i didn’t head for the documentation when I wanted to learn something, what did I do? How did I learn to code?
Some of you can probably relate — I got into the habit of purchasing just about every Udemy course under the sun.
Looking back, I guess I was guilty of thinking (naively) something along the lines of: after I’ve worked through 30 hours of this “Complete Web Developer Bootcamp” (my made-up, generic name), then I’ll be a full-stack developer.
It’s embarrassing to admit now, but this was definitely my mindset back then.
Recently, after getting out of the coding tutorial rut and getting a job as a Web Developer, I got to thinking about coding tutorials. Why did I spend a small fortune buying courses when I first started out? And now that I’m a working, earning developer, why are most of the resources I use free?
Should learning to code cost you anything?
We’ve all heard the saying — “the best things in life are free”— so couldn’t this apply to learning to code?
Not everything is free
I’m a strong believer that learning the basics of coding, like html, CSS, or (insert programming language here) can be free and accessible for everyone. Sites like Codecademy, freeCodeCamp, Coursera, and Khan Academy all offer free tutorials to help people get started. There are also many community blogs and resources that all teach the basics for free.
So why do people gravitate towards the plethora of paid courses on sites like Udemy? I think that it’s just our nature as humans. We look for the easy, quick, shortcut.
It doesn’t take long to realize that these shortcuts just doesn’t exist.
Unfortunately, many of us have already purchased and half-completed several of these quick fix courses.
That “build a website in 4 hours!” course — the one that’s on offer for $15 — seems much more appealing than spending 60 hours working through the first few sections of freeCodeCamp.
I’m pretty sure I don’t need to tell you which will benefit you most.
In this industry, you will get out of it exactly what you put in to it. There are no shortcuts, and there is nowhere to hide. The more effort and time you put in, the better developer you will become. It’s simple, yet seemingly so hard to wrap our heads around!
Not all tutorials out there are the same. The quality of the instruction and production, as well as the price, can vary greatly from platform to platform.
So when should you pay for a tutorial?
Don’t get me wrong — I don’t think all tutorials and courses should be free. It takes hours and hours to record, edit, and write some of these tutorials. If a developer is giving up their time to produce complex content, then they deserve to be compensated for that. They’re giving their time that could have spent doing something else, like spending time with their family or working their day job.
But I’ve found that many of the very best instructors give away lots of content for free. They are sharing their passion rather than trying to make a quick buck. It’s that passion that makes those developers the best teachers.
A great example of this is Dan Abramov’s Getting Started with Redux course. What better way to learn redux than from the man who wrote the library. And it’s FREE! There is no one better or more qualified to deliver a course on Redux than Dan. He doesn’t do it for financial gain, but because he’s passionate about the project.
Some of the best resources that I have come across have been free. And I’ll usually purchase a paid course after following some of the free material. Sometimes I’ll pay because I like the instructor’s teaching style. Other times it’s because I’m interested in the topic of the paid content. But occasionally, I find so much value in the free content that I want to show a little gratitude and support. This also encourages the production of further content.
If it brings you value, it’s worth something.
There are tons of resources available for PHP developers like me. I came across this YouTube series by Codecourse while searching for some information about getting started with the Silex framework. It was just what I was looking for at the time, and it was totally free and excellently delivered.
I visited codecourse.com and checked out some of Alex’s other free material, and subsequently had no problem signing up for £6 a month. Cheap as chips compared to the value it brings me.
Likewise, the company where I work uses Symfony for all our projects. I use it as well for my side projects. When I was looking for some help with a particular bundle, I came across CodeReviewVideos.
Now, outside of the documentation (which is excellent by the way!), up to date Symfony resources can be quite scarce. But in this case, CodeReviewVideos had the perfect video series — for free — which helped solve my problem in minutes.
This saved me a lot of time, and in turn brought value to me. They also have loads of free content on their YouTube channel and website. Possibly too much free content!
But my point is that it was 100% worth signing up to get access to all the content. Not only does it bring direct value to my day-to-day work, but it’s so easy to justify paying for content when you immediately see the benefit.
Back to the original question…
The best things in life are free’— so could this also apply to learning to code?
As I stated above, I don’t think that any resource that teaches the basics should come at a price. These skills, as commodities, don’t have face value. You’re probably not going to learn how to write a for loop and an if-statement and then start building the next Facebook.
But there are plenty of quality resources available at no cost to teach you those basic skills.
When you are just starting out learning to code, don’t look for the short cuts. Put in the work and you will reap the rewards. Build a solid, foundational understanding using tried and tested resources such as Codecademy and freeCodeCamp.
Then, once you start exploring more advanced topics or working in the industry, I believe it’s fine (and even the right thing) to start paying for courses and supporting those teachers. You’re getting more value from the more advanced courses. And you’re using it to get ahead in your career, improve your prospects, and even get paid more. That’s real value.
Coding tutorials are very much like Open Source Software: available for free and you don’t HAVE to pay. But if you are using it to get ahead and improve your own financial gain, then why not consider giving something back and supporting the project?
Even if its just buying a freeCodeCamp t-shirt, you’re helping to maintain the platform. Even if you’re just signing up for someone’s paid course after you got some value from a free version, you’re helping support them.
It’s great to give back — we have all benefited from free resources at some point!
If you enjoyed this post and are interested in similar stuff, check out my next post: Over Engineering An MVP.
Want this and other exclusive content delivered straight to your inbox? Sign up for my newsletter 📰.