There are trade schools for woodworking. Did you know that?

You don’t go for four years, you don’t get a diploma. Instead you can take specialized classes at a variety of skill levels for a few weeks at a time. You learn how to build a desk and a chair, and about different joints– about cedar and maple and pine. As each day comes and goes, it’s up to you to hone your craft. You make stuff. And you learn new techniques. You learn how to think in a certain way and how to visualize and how to plan and how to get what’s in your head all the way down to your hands.

Then you make something beautiful, show it off, and hear all your friends say, “what a craftsman!”

It doesn’t work that way with programming– it should, but it doesn’t.

Men and women who end up programmers usually go to a 4-year liberal arts college. They get a degree in something that’s not science, called Computer Science. They learn about something that’s not engineering, called Software Engineering.

Some of them suck at it, but get jobs anyway. Some of them are just lazy, but get jobs anyway.

Some of them, however, are like the woodworker. They see a bit of the behind the scenes and find that the have a feel for the grain. They decide to learn more. They pour over new ideas, new techniques. They look at their work and want to do better. They work on that link between brain and fingers.

Then they make something beautiful, show it off, and hear all their friends say, “uh… who cares?”

Sometimes, programming sucks.