Hacker News new | ask | show | jobs
by TheOtherHobbes 3335 days ago
The problem with self-teaching is that you don't know what you don't know, so you don't realise where the gaps in your knowledge are.

There's quite a difference between programming, in the sense of knowing how to put (say) Python code together, and being a professional developer.

The latter should include a whole extra set of analytical, algorithmic, social, and professional skills.

In practice it may not - but it does often enough for the distinction to be real.

4 comments

> The problem with self-teaching is that you don't know what you don't know, so you don't realise where the gaps in your knowledge are.

The benefit of self-teaching is that you do not have to try and learn everything in four straight years and then set forth into the world with what you were able to take in during that time. In practice, the gaps become quite apparent when the gaps become problematic and one can quickly fill in the gaps on the fly thanks to no dependence on the schedule of others to fill those gaps.

And then there are those with sheep skins that still can't program FizzBuzz.

I even had professors in computer science that hated using computers and could barely conceal their contempt of them.

What did you expect? The purpose of a Computer Science education is not to teach programming. Just like a Physics education doesn't teach you how to bolt together steel beams on a bridge.
But I wouldn't expect physicists to have disdain for engineers.

Then again, any discipline that has "science" in its name probably isn't.

Where is the disdain?
The professors' contempt of computers? In a computer science department? I mean, it wasn't math I was majoring in ...
Originally CS was a branch of math, then the issue was confused because many places taught software engineering in CS departments, and finally we begane to settle on some sane terminology.

What I think they now commonly mean:

* CS is a branch of math

* the art of building software is engineering

> The problem with self-teaching is that you don't know what you don't know, so you don't realise where the gaps in your knowledge are.

That is why the only valid starting point is : the problem at hand and to solve.

From there, you can work your way back to what lack of knowledge prevents you from solving the problem.

If knowledge does not show up somewhere, assisting you while solving a problem, it is most likely useless knowledge and undoubtedly just a waste of time.

Of course there are tradeoffs. I'm not arguing that self-teaching is necessarily ideal or preferable. But both the article's premise (or at least the tl;dr people are taking away from the headline...the text is a bit more nuanced) of "can't do code school therefore can't learn to code" and the assertion that someone isn't qualified to comment on self-teaching if they have an education are ridiculous.