How do you improve the productivity of software developers?

An answer I've given regularly for many years now, and one that applies to almost anyone who uses a computer, is give them a bigger screen.

I used to raise eyebrows fifteen years ago by recommending that every developer should work on a 21 inch screen. These days I say that everyone should have at least two 20 inch screens.

Why is this important? If I have a small screen I can't see as much at once, so to see different things I have to keep popping windows to the front. With my two screens I can put a whole bunch of stuff on the screen at once and all I have to do is move my head. My eyes can flick between the text I'm typing now in Emacs and the rendered result in firefox. I can keep open an IDE with lots of subwindows and have documentation in a browser right there. I don't have look around on the task bar to see where I put that terminal window, I just mouse and type. It's often hard to imagine the improvement before you try, but I can really feel the difference since I doubled my screen.

And it's not as expensive as most people think. Chatting with a friend I looked up the price for my twin Samsung 204Bs - $700 for the pair at my local circuit city. Developers are expensive, it doesn't take much to recover that kind of cost (Hmmm, there's room on my desk for a third.)

Too often these days I see pair programming done on laptops with low and small screens. This is silly, big screens make a wise investment.