Saturday, April 01, 2006

Means and Ends

Not long ago an associate asked me whether I thought he should go back to school and major in Computer Science. I was a reasonable target for this question because I have a degree from Purdue in CS. Despite my good experiences at Purdue and in the major generally, my answer was an emphatic: NO. The reasoning behind that no is not a practical one but a philosophical one.

Don’t get me wrong, a degree in Computer Science is a great thing. The job market is fairly good and there are lots of vaguely interesting jobs to be had. The problem is that in CS computing is seen as an End rather than a Means; the product of your work at the end of the day is a program that performs a task but most of the time that task is of absolutely no interest to you whatsoever. Unless you eat, breath and sleep computing and algorithms for their own sake, this will eventually result in extreme on the job boredom.

The alternative I suggested was a straightforward one. Rather than pursuing CS, he should instead find a field in which he has a real burning interest and apply his interest in computing to that instead. It is much preferable to be a historian who applies computing to his work than it is to be a bored computer programmer who has history for a mere hobby. For me, majoring in CS is like someone who wants to build cabinets going to college and majoring in ‘hammer’. Computing is a means to a goal, a tool, not a goal in and of itself.

No comments: