Tools Make the Difference
How much difference do the tools you use affect your productivity? That’s nearly an impossible question to answer. Books like Joel on Software or his bible Peopleware are more about how to be productive than how to write good code (for that try Code Complete). Although some of these tips can’t translate to a normal office (such as giving each programmer their own enclosed office), most suggestions are more easily palatable to management like multiple monitors or slightly improved workspaces. For instance, about 8 months ago our team at Westgate had experienced some much needed growth and needed to be split up into 3 rooms for developers instead of 2 interconnected ones. Although this meant we weren’t as close, and we no longer knew what everyone did the previous weekend, everyone I talked noted huge productivity gains in the days that followed. Quieter workspaces is on the Programmers Bill of Rights after all, so it’s probably no surprise. That’s not bad for just rearranging people but are gains like this possible from any tools or initiatives?
Multiple monitors seem like a no brainer for increasing productivity. Although 20%-30% sound high, I don’t doubt it. Assuming you’re not just working in your IDE, not having to tab around just to see everything will save you time. Multiple monitors are great, but what I’ve never quite understood is how people can use a single huge monitor effectively without some kind of software for splitting up screen real estate. With many of the Mac setups I see, for instance, there’s often a huge 24″ or 31″ monitor looming over the developer. Although this might work when a designer might need to see a large portion of an illustration, I don’t see how a single huge monitor could be better than two smaller monitors for most developers. With the smaller ones, you’ll need to spend time dragging from one to the other to get setup, but for the most part all applications will remain maximized and out of the way. With single monitors it seems lots of time is wasted repositioning everything. Also it’s more distracting looking at a monitor that has multiple apps on parts of the page rather than one maximized. For my home setup I went with multiple monitors of course, and can’t imagine trading them in for a single large display. What do you prefer, a huge monitor (24″+) or multiple smaller ones?
What programs make the most difference will be heavily skewed from one person to another. Little things like using TortoiseSVN rather than Eclipse’s much slower Subversion tools might not seem like much, but some people notice the difference and save a little time. Using a different text editor or web browser can make that difference as well. Since just about every developer uses Firefox, it becomes more an issue of finding the right extensions. As web developers though, most our time is spent in our editors, some shell, a web browser and a database tool — why not use the best of each?
I’d agree with many of the sentiments in the previous replies though — the tools we use are important. On more than one occasion Hal Helms compared the software and hardware we use as developers to the tools he used as a craftsman constructing chairs (7 - Tools We Use). You wouldn’t use a dull knife, why use a dull program?
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.
Comments
I think this ties back to your previous post about why people love Macs. You seem to be making your decision because you maximize your windows on a Windows machine. For some reason, most mac users do not find this necessary, and it isn’t even an un-intentional thing. I say this as a proud maximizer on Windows. On the Mac you tend to place and size things once, and then after that, you just let it do it’s magic. That might have something to do with why Mac users tend to have one giant screen. On a PC I think I would prefer two monitors, but I was the minority when polled at the office.
I don’t know though, I find alt-tabbing to be quicker than finding an ap on the screen — at least when the number of aps open is somewhat limited. I imagine in Leopard with spaces, or in windows with programs minimized to tray, you can keep only a few things open making alt-tabbing fast. Since alt-tabbing goes back and forth between the most recently used program, if you’re tabbing between two programs on main monitors the other ap is always a click away. For much more complicated situations where’s you’re often bringing in a 3rd ap or more though it is a few more clicks.
@Daniel
Man i need to get this layout setup for it. It’s installed and running, but you’re right; it isn’t working. ;/ True though, I’m not experienced with Mac work flows, so it’s hard to see how it’d be simpler than maximizing.
I agree with Daniel on monitor setup. On a mac, you tend to put stuff in its place and forget about it. What works for me best is to have ’screen shortcuts’ where dragging my mouse to upper right corner of screen presents me with every open app on screen (think bunch of tiles) where i can click on to select… moving mouse to lower right, hides them all so i can see desktop. Seldom close or maximize apps on macs; cant say why.
On monitors, I rather have as much real estate as possible, however, cant do really high resolutions for my eyes are not that good and get tired quick. I picked this up from QA guy here lately, I have 2 17s at work and have left one sideways where I do most reading and ‘other than witting code’ stuff in…




If I have to choose between one huge one and 2 small ones, I’d probably go with the smaller ones, but even that may come down to number of pixels. I don’t have much trouble utilizing a single many-pixel monitor with several open apps though. There’s enough real estate there to keep the brower open to 1/2 the screen and interleave apps so that a click will bring me to where I need to be quicker than several alt-tabs.
Regarding the use of dull tools - I completely agree. I used to use the free stuff, but I’ve recently started buying the good stuff instead (when it outperforms the free stuff to some arbitrary degree). Now, instead of Eclipse I use IntelliJ IDEA for Java stuff (and Ruby) and I’m about to purchase JetBrains’ plugin for Visual Studio for .NET for the same reasons.