Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This whole idea of the self taught programmer is a little disingenuous, because while I fit the stereotypical mold of one (no college degree, no formal computer science education), I was anything but self taught.

To claim so would be to discredit my friend who explained pointers to me in high school, or my first programming boss who helped me transition from writing HTML to SQL.

While I didn't take a class from Hennessy or Patterson, Gosling, the GoF, McConnel they certainly 'taught' me from their books, as did the countless anonymous internet posters in #java, #c, and as of late, #scala.

The feedback I received from friends who reviewed side projects or the JBoss guys reviewing my patches was invaluable.

It may be fair to say I created my own computer science curriculum, or that I wasn't formally taught, but I'm quite hesitant to take on the label of 'self taught'. Unless someone grew up in a cave without the internet and emerged a programming wizard, I'd caution others too.



I agree that few programmers are autodidacts in a really strong sense, like the way some outsider artists have developed completely independent (and usually a bit crazy) art styles out of contact with historical art practice. Anyone who isn't sitting in a cave reinventing computation from scratch will learn things from other people, so it might just be useful to think of different ways of learning rather than a strict "formally trained" versus "autodidact" dichotomy. I have a CS degree, but before that I "self-taught" myself C mainly via FidoNet's C_ECHO... but of course it wasn't a one-person echo with no other humans on it, so "self" is in a certain manner of speaking, in that I had no formal teachers there, but did have interaction with people who I learned from.

It's still a vaguely useful term, but I do think it's important to keep the wide variation along more than one axis in mind. Some people mean something like, "I read the manual and taught myself to code", while other people mean something closer to, "I studied something close to a regular CS curriculum, but outside a traditional university lecture environment".


I have disagree with your interpretation. To teach implies the lesson has already been discovered and is just being passed on.

If you lived alone in a cave and independently discovered programming while there, I am not sure you are teaching yourself any more than scientists doing groundbreaking research are teaching themselves. We typically file that under research. It only said to be taught after the discovery.

The dictionary defines self-taught as learning without being formally taught. As far as modern lexicon goes, I have to side with the dictionary.


Based on that description, I'd consider you to be self-taught :) I have a degree but I also consider myself self-taught. What gives? I've encountered many folks (probably not your average HN reader) who are simply unable to learn new things without explicit direction under a teacher. The way I'm defining it, a self-taught person uses multiple sources (books, learning-by-doing, bosses, feedback, etc.) to acquire knowledge.

In some ways, the purpose of a university education is to give you the ability to learn new things. The best example in our field is programming languages. While many of us can code in several languages, we probably did so without the aid of explicit instruction.

It certainly comes down to definitions though :)


Uh no, you definitely qualify as self-taught.

It's just that all programmers are self-taught to a degree. You more than most.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: