I’ve seen many people describe as self-taught programmers. While it is admirable that many people taught themselves programming, I don’t like the term and wouldn’t use it myself, for two reasons:

  • Everybody is a self-taught programmer: A lot of people have had some encounter with programming before seeing it in a classroom. And a lot of people haven’t. But even if your first exposure to programming was in a classroom, surely the class didn’t teach you everything or even most of what you know about programming now: most of it you cobbled together yourself, from various sources.
  • Nobody is a self-taught programmer: Even if you never encountered programming in a classroom, you probably learnt it from books, from online tutorials, from examples, from role models, from copying other people, or from having challenges that required programming, which too is an opportunity that not everyone gets… there was invariably at least someone thanks to whose efforts (at writing a book, asking questions, whatever) you now can program somewhat.

To me, using the phrase “self-taught programmer” seems to ignore both these: to call myself a “self-taught programmer” would be to fail to acknowledge the immense help I’ve received from many people dead and alive, and to feel smug about learning programming in what is in fact the usual way. I know, of course, that others don’t intend all this when they use the term, but this is why I couldn’t bring myself to use it.