I’m reading an interesting review of The Social Network aka the Facebook movie, by Zadie Smith, and see this:
Or is it possible [Mark Zuckerberg] just loves programming? No doubt the filmmakers considered this option, but you can see their dilemma: how to convey the pleasure of programming—if such a pleasure exists—in a way that is both cinematic and comprehensible?
If such a pleasure exists? Did I just read that? This is where I realize that neither this writer nor probably the movie understand the world they’re trying to describe. They’re looking through a telescope, reporting that they can see something red, or maybe blue, over on that distant world of “software technology”, and it’s doing something, for some reason?
I haven’t seen the movie. I don’t even like Facebook. I hate having all my family, friends and coworkers gathered in one place. Help me keep my multiple identities separate, please. But I know what motivates programmers to make software that changes the world: It’s really really fun. All programming is fun, at least to programmers. I didn’t mention it in my essay on how software is made, because it seems so obvious, but it is. Programming is like being paid to play with Lego.
And if you don’t understand that, then all technological change today is a mystery to you. The central – and potentially tragic – fact of software is this: Anything that is possible, somebody is going to make, maybe for money, maybe for fame, but mostly just because it’s fun.
I think it’s because most people still think of coding/programming as something dull and tedious. I realize that this is often true, but most of the time (at least for me), it’s also fun, interesting and challenging. I actually LIKE having to figure out what’s not working, or what I need to do so that my code actually works.
My view is that if programming is dull and tedious, you’re doing it wrong. It’s interesting how all the agile methodologies, which aim to make projects more successful, have the byproduct of also making programming more fun. It’s like there is a link: To build great things, you have to enjoy yourself.