For me, the best in the disciplines related to technology, is that they are probably easier than any other, to learn on the Internet. In fact, that’s how I created the foundation of computer science that supports my work. Without the Internet, the full resources, I would not be where I am today.
Like many of those who share my path, I initially absorbed all the online resources I could get my hands on. But as I invested more years into my career, I increasingly noticed the material flaws that are most common.
At first I had to relearn some concepts that I thought I understood. Then, the more it became entrenched, the more I discovered that my self-taught peers at certain points were also lost.
This led me to study how misconceptions spread. Of course, not everyone always succeeds. To be mistaken is human. But with such a wealth of knowledge available online, theoretically erroneous information should not be widely disseminated.
So where did it come from? In short, the same market forces that make the computer science industry profitable create a breeding ground for suspicious training materials.
To bring back learning in computer science in one small way, I want to share my observations regarding determining the quality of learning resources. I hope those of you who follow a similar path will learn the easy way that I learned the hard way.
Initialize an environment for self-development
Before I begin, I want to admit that I understand that no one likes it when they are told that their work is less stellar. I certainly won’t name names. On the one hand, there are so many that heuristics are the only pragmatic way.
More importantly, I would rather give you the tools for self-assessment than just tell you where not to go.
Heuristics are also more likely to point in the right direction. When I declare that Website X has lower content and I am wrong, no one got anything. Worse, you may have missed an instructive source of knowledge.
However, if I emphasize the signs that a website may be inappropriate, although they can still lead you to an accidental discount of a reliable resource, in most cases they still have to give sound conclusions.
The invisible hand of the market makes you shake hands firmly
To understand where the questionable quality information comes from, we have to dust off the Econ 101 notes.
Why does technical work pay a lot? High demand meets low supply. Software developers are so in demand, and software development trends are evolving fast enough that tons of resources have been quickly produced to prepare for the latest wave.
But market forces are not over. When demand exceeds supply, production experiences pressure. If production accelerates and the price remains the same, the quality decreases. Of course, prices may just go up, but the main advantage of technical training is that most of it is free.
So if a site can’t suffer from the dramatic decline in user numbers that comes with switching from free to paid, can you blame it for keeping it free? Multiply this even by a modest portion of all free training sites, and the result will be quality training in general.
Also, because the practice of software development is repeated due to innovation, so is this cycle of declining quality of education. What happens if hastily prepared training material is consumed? Over time, the workers who consumed it became new “experts.” In a little more time these “experts” produce another generation of resources; and so it goes.
Upload your training using your own Bootstraps
Of course, I’m not going to tell you to regulate this market. What are you can however learn to identify reliable sources yourself. I promised heuristics, so here are a few that I use to roughly estimate the cost of a particular resource.
Is the site run by a commercial company? It’s probably not that solid, or at least helpful for your particular use case.
Many times these sites sell something to technically illiterate customers. The information is simplified to refer to the non-technical management of the company, not in detail to address the technical burqas. Even if the site is designed for someone in your area, commercial organizations try to avoid free distribution of merchandise.
If the site there is for the technically minded, and freely distributes company practices, their use of this software, tool or language may be completely different from how you do, want or should.
Was the site created by a non-profit organization? If you choose the right kind, their material can be very valuable.
Before you believe what you are reading, make sure the nonprofit has credibility. Then confirm how much the site is related to what you are trying to find out. For example, python.org, run by the same people who create Python, would be a pretty good bet for learning Python.
Is the site mostly focused on learning? Be careful if it also profits.
Such outfits usually prefer to place interns in the workplace, and quickly. The quality of the intern is in second place. Unfortunately, good enough, well, good enough for most employers, especially if it means they can save money on wages.
On the other hand, if the site is a large nonprofit, you can usually give it more weight. Often such non-profit training-oriented organizations have a mission to develop the field and support their employees, which largely depends on the proper training of people.
There are some other factors you need to consider before deciding how serious you are about a resource.
If you look at a forum, rate it by its relevance and reputation.
General purpose software development forums are sometimes disappointing because a lack of specialization means that specialized experts are less likely to hang out.
If the forum is clearly designed to fulfill a specific role or user base of software, chances are you’ll get more mileage, as you’re more likely to find an expert there.
As for things like blogs and their articles, it all depends on the author’s qualifications.
Authors who develop or use what you study are unlikely to do you wrong. You’re also probably in good shape with the developer of a major technology company, as these organizations can usually get first-class talent.
Be skeptical of authors who write in a commercial company who are also not developers.
If you reduced this approach to mantras, you could put it this way: always think about who is writing the tips and why.
Obviously, no one ever tries to make a mistake. But they can only deviate from what they know, and there are other tricks that can communicate with information other than to be as accurate as possible.
If you can identify the reasons why a knowledge maker may not bring the correctness of a textbook to the forefront, you are less at risk of uncritically dumping their work into your own mind.