Figure 0: A Sunset

Developer Productivity: Tools

In which I examine some of the most important developer tools for achieving maximum developer productivity for developers

Chet Haase
Pointer IO
Published in
7 min readMar 1, 2016

--

This article is exclusive to Pointer — a reading club for developers.

Sign up at Pointer.io for our weekly newsletter.

Productivity is important in any endeavor, but even more so for developers, where getting into the flow is so critical for what we do.

If you can’t dive deeply into a problem and focus on it to the exclusion of everything else, then you’ll never make the progress needed to solve it. Others will end up fixing the issue for you, you’ll do poorly in the annual performance reviews, plateau in your career, eventually be spun out in a company downsizing, have a hard time finding the next gig, start drinking the pass the time and quell the depression, try some harder drugs in desperation for escape, and end up sleeping in the gutter, selling stolen pencil erasers just to score the next buzz.

All because you couldn’t get into the flow.

There are several factors that contribute to developer productivity, but for now we’ll focus on tools. Are you using the optimal development tools for your productivity? Do they get out of your way and let you focus on the task ahead? Do they allow you to get into the flow? Or do they put roadblocks and barriers in your way and hamper the way forward?

Let’s take a look.

First of all, take a seat at your workstation. This can be a powerhouse of a desktop monster that threatens to shut down the power grid when you boot it, or a tiny laptop whose heat fan tries to launch itself into orbit whenever you kick off a build; it doesn’t matter. What does matter is that you sit squarely in front of the keyboard with your arms at good ergonomic angles, so that you’re ready to jam code as fast as your body will let you.

At this point, you will want to look up “good ergonomics” so that you understand what I’m talking about. The angles at which your arms descend from your elbows and your hands descend from your wrists is critical not only for optimal typing speed, but also for preventing future Repetitive Stress Injury (RSI) problems.

Figure 1: Important Typing Data

Studies have shown (see Figure 1) that the single-most important factor in typing speed is being able to type. In fact, of the subjects in the survey that could not type at all, 100% of them had a net typing speed of zero, which is, according to statisticians, a very strong statistical indicator. So make sure that you learn what you need to to ensure that your typing position is as RSI-friendly as possible.

Now that you understand what is meant by “a good ergonomic position,” you should fix your seating situation. Is your desk flat and low enough to allow your arms to have good clearance? Does your chair have adjustable height that allows you to achieve the appropriate ergonomic angles you need? Are the arms of the chair helpful or harmful to achieving proper angles?

All of these are critical issues to achieving the ergonomic freedom discussed above. You probably want to visit a nearby office furniture store to sample what they have. Since most stores only carry a small subset of the possibilities, you’ll also want to visit other furniture stores in the area, and in surrounding areas (note that sometimes the best stores are found several hours away, or even in other countries). Take your measurements with you, and test all of the possibilities. Remember: it’s not good enough to find something that’s merely adequate. For maximum productivity, you have to get the best equipment available. Do you want to be as productive as you can possibly be, or just kind of productive? Exactly. Shop around. Find the best. Buy it.

Congratulations: now you’ve got the optimal desk/chair setup. Once you’ve setup your workstation in its new home, sit in the optimal working position again. Now, where is your monitor positioned relative to you? Does your head look up? Straight ahead? Down? Is it rotated or twisted?

Figure 2: Don’t Be Injured

Once again, consult the ergonomic guidelines you used before. But if your monitor isn’t set up correctly, then chances are that these guidelines were not clear enough. So you should search for different and better guidelines; you don’t want to be misled into creating a great seating position only to experience neck injuries later on. Studies have clearly shown that one of the greatest factors enhancing developer productivity is not being in traction. Additionally, these studies have also shown that the more serious the injury, the less productive the developer is, with the least productivity coming from those developers that have experienced “death” as a result of their injuries. Don’t be that person; avoid neck injuries.

At this point, people start rationalizing. Particularly those with laptops will make silly claims like “I have to look down because my monitor is next to my keyboard!” This, of course, is baloney and hooey. Sure, your laptop monitor was next to your keyboard when you bought it. But there is no reason that it has to stay that way. Do you think the store manager is going to come knocking on your door to make sure that you haven’t altered the factory configuration of your laptop? Obviously, the easiest fix to this common situation is to remove the monitor from the keyboard and reposition in the best place, ergonomically. This often takes specialized tools, experience, cables, and circuits. It also tends to take practice and more than one attempt, so you will probably need to try this at least a couple of times to do it correctly. Be sure to back up your data, since your laptop probably won’t survive the operation, especially the first couple of times. This approach can be quite time-consuming and expensive. But it will be worth it, when you are able to type on the keyboard with your ergonomically placed hands while looking at the monitor in front of your ergonomically-positioned head.

As an aside, some people have suggested using alternative approaches to better monitor placement, such as plugging into an external monitor and/or keyboard, but I far prefer the traditional approach of disassembling the laptop. There are just too many devices involved otherwise, and the extra clutter on your desk will inevitably lead to productivity loss.

Now that you have a machine, desk, and chair that is perfectly situated for your body, you’r ready to begin. Log into the machine.

Figure 3: Typical Keyboard

As you do so, notice how the keys on the keyboard are smudged and the keyboard itself covered with the detritus of everyday programming life: dust, hair, skin particles, bits of cookies, and other elements of your existence accumulate nonstop. It is impossible to use a keyboard effectively under such conditions. Keys with too much oil on them lead to slippage. Keys with too much sticky matter on them cause increased typing latency. Both of these lead to errors that torpedo any chance of reasonable coding speed. It is impossible to get in the flow if you cannot type at the speed that you think. And if you throw error correction into the mix, you’ll lessen that speed even more, leading to an inability to get or stay in the flow entirely.

Your supply cabinet should include alcohol wipes that are well suited to the task at hand. Also bring a bottle of rubbing alcohol for the really deep smudges and a can of compressed air. If you do not have these basic elements of optimal programming, you’ll need to re-visit the local office supply store. You should also consider stopping by the hardware store to pick up a compressed-air power tool so that you don’t constantly have to go back to the cabinet for another can of compressed air. I’ve found this single appliance one of the most important and powerful weapons in my arsenal of productivity enhancements.

Figure 4: Dirt on Display

Once you have cleaned the keyboard, also ensure that your monitor is cleaned and ready for use as well; any distortions in the image you see can only lead to errors in processing and judgement. For example, just last week I mistook some dried fluid on a colleague’s monitor for a semicolon. This error led to a bad code review, a build-breaking submission at a critical time in the release, and the ensuing cancelation of the entire project, which affected the jobs of everyone on that project (apart from mine, as I was a consultant to the company with a contractual payout-upon-cancelation stipulation). Don’t let display issues affect your productivity in a similar way.

Okay, now your display is clear, your keyboard is clean, and you are sitting in the perfect position for optimal coding. It is time to begin your work and get into the flow. Good luck!

I hope you enjoyed this article on the best developer tools for developer productivity. Join us next time when I discuss the best programming languages for developer productivity.

--

--

Chet Haase
Pointer IO

Past: Android development Present: Student, comedy writer Future: ???