We get all kinds of interesting feedback here at CodeLesson World Headquarters and Lunchtime Taco Stand. One frequent comment we hear is “why aren’t your classes free?” The implication is that everything on the web should be free, and we understand that. We want everything to be free, too, and we hate paying for stuff when it seems we shouldn’t have to. When somebody figures out how to make ponies free, we’ll know that our utopian vision has been realized.
The implication of the question “Why do you charge money?” and the related statement “There’s plenty of good information on line for free” overlooks some key things that a lot of people don’t examine critically. One of these is the somewhat unexamined notion that thanks to the web, information is basically a cheap commodity and you can learn nearly anything you want from Google, Wikipedia, or other sites.
Here’s an example. Do a Google search for “JavaScript tutorial“. 78.1 million search results come back. Which ones are good? Which are up-to-date? Which are flat-out wrong? Which were created by a actual JavaScript programmers with years of experience? You can’t really know. Google isn’t very helpful here.
What you do know, sort of, is which pages were most linked-to; that’s how Google search results are ranked. But that doesn’t tell you which pages are correct, just which ones are popular. It’s sort of like when your sister has a crush on the football captain even though you know the guy’s a moron.
Ahem. Anyway. Let’s try a few experiments to illustrate the thesis of “Learn-by-Google Considered Harmful”. The #1 search result for the Google query “JavaScript tutorial” is the W3Schools JavaScript tutorial, which we’re not going to link to here because W3Schools is an abomination. The W3Schools tutorials are actually so terrible that a group of top web developers created a web site explicitly denouncing them and providing alternatives.
Now let’s take another great example (and by “great,” I mean “terrible”). Say you’re looking to create a user database for a web site so users can log in securely. So you do a Google search for “create a user login system”. Sounds sensible enough. The fifth most-popular search result is this page:
http://www.howtodothings.com/computers-internet/how-to-make-a-login-system-for-your-website
This shows you how to create a table to store user names and passwords in MySQL, then shows you how to access that data using PHP. By storing user passwords in plain text. Which you’re not supposed to do, for security reasons.
If you follow this tutorial’s advice and store user passwords in plaintext, eventually this will happen to your site:
http://lalawag.com/2011/04/26/sony-confirms-massive-playstation-network-breach-what-you-should-know/
Sony is a big company. Because their web developers didn’t do the right thing, they’ve exposed the accounts of millions of their customers, and their online products have experienced months of downtime this year. Now nobody trusts them with their personal information anymore because they made a simple boneheaded mistake. How much do you want to bet that the developer who made that mistake did so because she read somewhere online that you’re supposed to store passwords the wrong way?
The lesson here is simple. Bad technical information that’s been search-optimized on the Web is forever, not unlike a virus that retreats to the base of your spinal cord. But having access to current information (or even better, an expert mentor who can help you learn) is priceless.
We’d be remiss if we didn’t point out that our instructor-led JavaScript course is awesome, and that we cover the correct way to store user passwords in our intermediate/advanced PHP course. We have lots of other instructor-led technology courses to check out, as well.