Blog Home RSS Kelvin Jackson

No Patience for Cumbersome Tools


I have no patience for cumbersome tools, and neither should you.

If you have done any large-scale software development at a large organization, you surely know what I mean: commonly-used functionality hidden away behind several clicks' worth of menus, multi-command build processes that expect you to remember several options each, and so on. In trying to make a tool that does everything, it is easy to make one that does nothing well — and it happens more often than we like to think.

We should be working harder to change this. Valuable developer time should not be wasted on clicking through menus or tearing out hair when a script breaks. Build and deployment scripts, CI pipelines, and test environments should be runnable with a minimum of time and effort. And even a few extra clicks adds up — in fact, if developers have to touch the mouse at all, they are probably losing time to cumbersome tools. Anything you have to do multiple times an hour should take only a handful of keystrokes.

It also bears mentioning that, in addition to eating up valuable time, cumbersome tools can seriously depress developer morale. Nobody likes clicking through menus or copying and pasting overly long commands, and the more they have to deal with that sort of thing, the less enthusiasm they will have for coming to work and doing their job. The best teams to work on keep their tools in tip-top shape.

This is not to say, of course, that you should go around complaining to your coworkers when a tool is hard to use — if it can be fixed on your end, fix it yourself, or think about alternatives if it is truly awful and cannot be improved from your side. And if neither of those things is feasible, then at very least document the "missing stair" as thoroughly as possible so that nobody ever had to stumble over it again. Every team should build in time for this sort of "housekeeping" work. Like writing documentation and tests, simplifying common tasks is an investment that will pay off.

Go forth and save time!