Tue, 26 Aug 2003
Had an interesting discussion today with campd, alex, and luis. Started off with talking with luis about programmers and how much they're giving up by letting somebody else do interface design. We started off talking about the Cooperesque dictatorial designer world: I think Cooper provides an interesting if extreme take on the importance of power structure in producing software.
Anyway, something I think Cooper misses addressing is that just because designers can be compared to architects doesn't mean programmers are construction workers. If that were true, as a programmer I would fight like hell to keep designers from "taking over". I feel like many programmers latently fear (well, at least their actions might be explained by this fear) that they will give up the fun, creative, intellectually stimulating parts of programming when they pass off responsibility for interaction design to somebody else... but in reality 90% of programming time (depends wholly on the person of course) is spent on other very interesting problems like architecture, backend implementation, getting the perfect algorithm for keeping the fidget in state Y whenever the foobar thread is terminating, etc.
I think at a conscious level most programmers would take offense at the idea that programming is just construction work + interaction design ;-) And rightfully so. Programming, at least today, is intellectually stimulating and difficult (at least the sort we do in GNOME). You have to be really good at thinking abstractly, but at the same time track hundreds of little details... you have to be some sort of super-human combination of both ends of the meyers-briggs N (intuitive) / S (sensory) axis ;-) So what am I saying? I wonder if many programmers are acting out of concern over an issue that they'd consciously (and correctly imo) dismiss.
I can imagine a Cooperesque world in which there are three classes of people "designers", "code architects" (smart programmers), and "construction workers" (dumb programmers), but currently programming takes waaaaay too much skill and smarts for that to really work out. And all the GNOME programmers I know would definitely fall into the "code architects" category.