The best developers share an important trait: laziness, which translates to a constant quest to find the most efficient ways to get the job done

Laziness, Perl creator Larry Wall once wrote, is “the first great virtue of a programmer.” Apparently, he’s not alone in that thinking. Just ask Bill Gates. Heck, why do you think Grace Hopper invented compilers? That’s right - because she was lazy and didn’t want to write machine code. Great programmers translate their laziness into efficiencies by constantly finding easier ways to do things. Sometimes that means saving time in the short run, but other times it means spending a little more time upfront to save a lot of time (and effort) in the long run. Here are 8 common ways that the best developers save time, effort, and (often) their sanity.

What and why: When given a problem to solve, rather than coding right away, the truly lazy programmer will first sit back and think about the big picture. Is the bug to be fixed a symptom of a larger issue that should be addressed now to prevent future problems? Could a requested enhancement be implemented in a more general way that could support future functionality and save time later?

Quotes: “Lazy programmers look at the whole system, and try to find the way to satisfy as many goals as possible, having learned through experience that not satisfying as many goals as possible will surely lead to annoying rework” Anonymous

What and why: Replacing mouse-driven commands with keyboard shortcuts is a great way for anybody to reduce effort, but programmers are especially wedded to them. They often take advantage of shortcuts specific to the OS, IDE, and browser to increase productivity. Less mouse usage also has an added benefit of reducing repetitive stress injuries.

What and why: Programmers, like everybody else, don't like reading manuals or documentation; it’s usually quicker and easier to search the Internet for help. Websites devoted to answering programmers’ question, like Stack Overflow, aren’t just time savers, they also contain a wealth of information and accumulated wisdom and have become a vital tool to developers, even if they can’t always provide the answer.

Quotes: “What a game changer (not to mention a time saver) Stack Overflow has become.” Ken

“Googling for solutions ... is a great way to learn new stuff and approaches.” Martin Wickman

“The sooner you become effective at Googling for programming help, the happier you'll be.” Seph

What and why: Lazy programmers realize that while writing unit tests (i.e., code to test individual units of software programs) may require more effort upfront, it can reduce the number of bugs in their code, thereby saving time (and headaches) in the long run. Unit testing can also make code easier to maintain and refactor in the future.

What and why: Restructuring functioning code may not seem lazy, but lazy programmers know it will save time later, by making future development and bug fixes easier. The key is to not wait until the refactoring job is too large, but to instead do it in small chunks on a regular basis.

What and why: Manually tracking changes to source code files can be slow and painful, particularly when multiple developers are involved, but not as slow and painful as having to rewrite code that gets deleted or overwritten. Lazy programmers know that source control software saves time and pain by automating the former and eliminating the latter.

Quotes: “You feel like you're saving time and headaches by not using version control, but the day will come, if it hasn't already, where you go down a false coding trail and want to roll back.... All of this takes much longer with versioned folders than it does with a proper version control system.” Corregan Brown