The best thing about tech-related disciplines, to me, is that they are probably easier than any others to learn online. In fact, that’s exactly how I built up the computer science foundation that supports my work. Without an internet full of resources, I wouldn’t be where I am today.
Like many who share my path, I initially devoured every online resource I could get my hands on. But as I invested more years into my career, I’ve increasingly noticed the shortcomings of the material one is most likely to come across.
At first, I found myself having to relearn some concepts I thought I understood. Then, the more that solidified, the more I discovered that my self-taught peers had been led astray at certain points, too.
This led me to examine how misconceptions propagate. Of course, not everyone gets everything right all the time. To err is human, after all. But with such a wealth of knowledge available online, in theory, erroneous information should not proliferate widely.
So where did it come from? In short, the same market forces that make computer science-powered fields lucrative are the ones yielding fertile ground for suspect training material.
To give back to computer science education in one small way, I want to share my observations about determining the quality of instructional resources. Hopefully, those of you treading a similar path will learn the easy way what I learned the hard way.
Initializing Our Self-Dev Environment
Before I begin, I want to acknowledge that I understand that no one likes being told their work is less than stellar. I am certainly not going to name names. For one thing, there are so many to name that a heuristic is the only pragmatic way to go.
More importantly, I would rather provide you with the tools to make evaluations for yourself than just tell you where not to go.
Heuristics are also more likely to point in the right direction. If I declare that website X has subpar content and I’m wrong, no one has gained anything. Worse, you may have missed out on an edifying source of knowledge.
However, if I underscore the signs that suggest that any given website might be off the mark, while they could still lead you to accidentally discount a credible resource, they should still yield sound conclusions in most cases.
The Invisible Hand of the Market Makes for a Firm Handshake
To appreciate where information of questionable quality is coming from, we’ll have to dust off our Econ 101 notes.
Why do tech jobs pay a lot? High demand meeting low supply. There is such an urgent need for software developers, and software development trends evolve quickly enough, that tons of resources have been produced rapidly to train the newest wave.
But the market forces aren’t done yet. When demand outstrips supply, production feels the pressure. If production speeds up, and the price stays the same, quality goes down. Sure, prices could simply go up, but a major draw of tech training is that much of it is free.
So, if a site can’t suffer the sharp drop in users that comes with going from free to paid, can you blame it for staying free? Multiply this by even a modest chunk of all the free training sites and the result is training, overall, dipping in quality.
Further, because software development practices iterate due to innovation, so does this cycle of declining educational quality. What happens once the hastily produced training material gets consumed? In time the workers who consumed it become the new “experts.” In a little more time, these “experts” produce yet another generation of resources; and so it goes.
Bootstrap Your Learning by Your Own Bootstraps
Clearly, I’m not about to tell you to regulate this market. What you can do, though, is learn to identify credible sources on your own. I promised heuristics, so here are a few I use for making a rough estimate of the value of a particular resource.
Is the site run by a for-profit company? It’s probably not so solid, or at least useful to your specific use case.
Many times, these sites are selling something to tech-illiterate clients. The information is simplified to appeal to non-technical company leadership, not detailed to address the technical grunts. Even if the site is intended for someone in your shoes, for-profit organizations try to avoid handing out tradecraft for free.
If the site is for the technically minded, and dispenses company practices freely, their use of a given software, tool, or language might be completely different from how you do, will, or should.
Was the site set up by a nonprofit organization? If you chose the right kind, their material can be super valuable.
Before you believe what you read, make sure the nonprofit is reputable. Then confirm how closely related the site is to whatever it is you’re trying to learn about. For example, python.org, which is administered by the same people who make Python, would be a pretty good bet for teaching you Python.
Is the site mostly geared toward training? Be cautious if it’s also for-profit.
Outfits like this usually prioritize placing trainees in jobs, and fast. Trainee quality comes second. Sadly, good enough is, well, good enough for most employers, especially if that means they can save a buck on salary.
On the other hand, if the site is a major nonprofit, you can usually give it more weight. Often these kinds of training-driven nonprofits have the mission of building up the field and supporting its workers — which relies heavily on people being trained the right way.
More To Consider
There are some other factors you should take into account before deciding how seriously to take a resource.
If you’re looking at a forum, measure it by its relevance and reputation.
General purpose software development forums are wrong a disappointing amount of the time because no specialization means specialized experts are less likely to be hanging around.
If the forum is explicitly meant to serve a particular job role or software user base, odds are you’ll get better mileage, since it’s more likely you’ll find an expert there.
For things like blogs and their articles, it all depends on the strength of the author’s background.
Authors who develop or use what you’re learning probably won’t steer you wrong. You’re also probably in good shape with a developer for a major tech company, since these entities can usually nab top-notch talent.
Be skeptical of authors writing under a for-profit company who also aren’t developers.
If you were to distill this approach down to a mantra, you could put it this way: always think about who is writing the advice, and why.
No one is ever trying to be wrong, obviously. But they can only go off of what they know, and there are other focuses a sharer of information can have besides being as absolutely correct as possible.
If you can spot reasons why a producer of knowledge might not put textbook correctness at the front of their mind, you’re in less danger of uncritically dumping their work into your own mind.