6 comments

[ 2.9 ms ] story [ 26.6 ms ] thread
In short, it's because if you Google it, you won't pay them money for the same info.

Okay, maybe they tried to say it's because there are so many hits, and you can't tell good from bad if you're a novice... But you know what you learn from Googling that you don't from them?

Telling good from bad!

Of course, you learn to program from both of them.

For me, Google is cheaper, faster, and I learn more.

Cheaper, sure, obviously. Faster, though? Really? And do you learn more? If you're doing everything by yourself, how would you know for sure?
Because I learned Java and SQL from college classes, and BASIC (several versions), Visual Basic, C, C++, C#, PHP, Cold Fusion, Ruby, Javascript and more without classes. I learn things far faster if I'm the one deciding what I need to know, than if I'm forced to go through the language at someone else's pace and style. (And after college, I learned more about Java and SQL on my own than I learned in the classes.)

And it's not that I would get lazy in the classes, either. I would get bored waiting for the teacher and start messing around with things while I waited, and then continue with the lesson when everyone caught up. (Not their fault, I had other languages under my belt already.) I tried to do just as much experimentation in class as I would at home.

And that was all before the internet was available to me. Now that I have the internet, I can research questions and issues so fast that I won't even bother asking an expert sitting beside me. It's faster and I learn more from the web.

I'm not saying this is the method for everyone, but it's so much faster and easier for me this way that I find it hard to believe I'm a minority.

You may not be in a minority. The question is whether having the majority of software engineers learning their profession in a vacuum is best for the profession or not.

Physicians have mentors. Attorneys have mentors. Doctoral students of all stripes have mentors. Why don't software engineers? The notion that software engineers are all supposed to be autodidacts is very odd, I think.

Courses are a good way to get started, because they will introduce you to the topic, and give you the vocabulary (that you will use to search afterwards). Learning to program, as in "from scratch", not "learn another language once I know what if and for are, is really hard to do with only a search engine, and will take a lot of time. The fastest way I know to start programming is mentoring: a good mentor can give you directly the meat of the subject, point out your mistakes and tell you how to correct them.
If you can find an instructor or a mentor who does it for free, then hey, go for it.

The point is that this can take a lot of time, and most technical people don't have the time or inclination to do it for free.