Michael Feathers: Programming On Your Own


I found these comments by Michael Feathers very enlightening. I often forget that programming is hard. I really have a lot of fun with it, so it is easy to overlook the hard parts. Or maybe it is really the hard parts that I like so much.

Of course, there is also the personal satisfaction that comes when you know that you have made someone’s life a little easier. Programmers have the power to turn “I wish there was a program that …” ideas into realities.

The danger is that in solving some problems, we inadvertently create new ones. This is something that many programmers often overlook. Sure the problem is solved, but how miserable is the user going to be when they use it? This is something that I try to be conscious of all the time.

So, to get back on topic, I agree with Michael Feather’s assertion that programming is something that has to be learned on your own. While that may sound like a negative, it is really a positive.

In many trades, it is very hard to start learning, mainly because there are so many barriers to entry.

With programming, you really only need the following.

  • A problem to solve – this can be as simple as an example from a book or a website or as complex as building a better email client
  • A good source of educational information – A website with some helpful hints is a good source. Some books are better, but they cost money. You can learn a lot with a good search engine at your side. A friend or friends to point you in the right direction is probably best.
  • The tools of the trade – you need the compiler or interpreter for the language that you are trying to learn. A decent text editor is also a must. One that is tailored for the language that you are using is better. Many of these tools are freely available.

There are very few trades out there where all of the educational materials and tools to get the job done are free. It kind of surprises me that there are not more programmers in the world.


Leave a Reply