Thursday, April 05, 2007

This Software Doesn't Write Itself

I don't mean to jump on Will (and his commenters, which are many these days), the day after he said such nice things about me (I love you too, Will), but regarding todays post on the University of Michigan's School of Information's M.A. specialization in Social Computing, I'm a bit taken aback, if not surprised, by the reaction. I wouldn't quite call it "anti-intellectualism" as Rob Lucas does; it is more specific. It is a sort of a willful ignorance of how software is designed and written, or, more to the point, a sort of denial of the fact that it is designed and written, that writing and studying software is rather different than using it. There is, for example, a vast difference between knowing that Amazon's recommendation system is handy, and knowing how to write a recommendation system that would be appropriate for a given use, or evaluate the recommendation engines of several different systems to determine which one would be best for your users' needs.

The current state of the ed-tech blogosphere is an example of why a program like this may have some benefit (I'm hardly ready to endorse it, I'm just saying it is not absurd). We've got lots of people excited about using the "Web 2.0" tools, but how many people are capable of substantively analyzing the range of options, let alone contributing to the development of new ones? The reality is that taking the next step is hard intellectual work, which requires more time and reflection than can generally mustered while working full time and reading blogs.

I think everyone should take a step back and read Dreaming in Code, for a reminder of the importance of writing the software and of how difficult a task it is.

4 comments:

Will said...

So it's more about the ability to learn outside of traditional structures than anything else. Serious question...are you saying that the only way I can learn to do what you do is to take a course or a program in it? What does that say about all of the people who can't afford that route? They can't play? Even so, it's not about the specifics of designing software as much as the fact that we can do learning differently if we have the will and the passion...and the connection of course (which, I know, precludes a whole bunch of people from playing as well.)

Tom Hoffman said...

The question is whether or not this particular program is deserving of any special derision, compared to a regular degree in Information Studies or Computer Science. I'd say "no." Is it impossible to figure this stuff out on your own? No.

Most of those courses look hard and substantive, the kind of topics where a little pressure to produce work and lots of instruction and feedback about it would be helpful.

Swift said...

I'm on my fourth software company. I've always been on the conceptual / marketing side.

I majored in Russian and US foreign policy. My last company was recently sold to AOL (www.userplane.com, very 2.0).

You definitely don't need the degree. I've taught myself enough to create huge amounts of value.

But someone needs the degree. Someone needs to know how a recommendation engine works, because it is not trivial.

Those people have always worked for me.

I'm clear, however, that I wouldn't get through google's resume algorithm. (But if I can sell them my next company, I wouldn't have to.)

The class is extremely valid. So is learning on your own.

Alfred Thompson said...

There is often a bias by people towards the way they learn. I have known people who reject those who learned "from books" and people who reject those who learn from "the school of hard knocks" because that wasn't the way they learned it. I've long believed that the ideal is some of each. I have longer comments on this particular masters program and the general topic on my own blog at act2.spaces.live.com in case anyone is interested.