In college, one of my professors told a class that the average developer writes on average 25 lines of a code a day. He also recalled managers watching over his shoulder while he stared blankly at the screen, which would lead to the inevitable “Why aren’t you doing anything?” question. He would simply respond with a “I’m thinking.”
As developers, we have to balance a myriad of skills and considerations for every block of code we right: How long will an approach take? Is the code correct? Is it efficient? Will it make sense to another developer? Will it have side effects? What business rules should I consider?
Some days, you might not write any code. Diving down into the depths of your codebase, you might get lost searching for some bug or performance bottleneck for hours, days, or worse. Unfortunately, the time-worn cliche “Time is money” holds true for most developers, so in spite of all the development speed bumps, we have work that must be finished. And said work typically has a deadline.
So here’s a list of performance gains not for your code, but for you. You may not be able to eliminate the need for investigation or consideration, but maybe you can speed up everything else.
Abandon your mouse
How many times per day would you say you have to pull a hand from the keyboard to use the mouse? A Hundred? Each time, you lose time both trying to mouse to the right menu items or buttons, and potential time just trying to remember where a certain option was.
Sure, the typical cut, copy, and paste shortcuts should already be a part of your core skill set, but take it a step further. Know the shortcuts for as many of your common operations as possible: Open file explorer or command prompt, start-up the IDE of your choice, find text in files, find usages of variables. Anything that you do regularly, try to find the keyboard shortcut and memorize it.
Name your files well
A core part of what developers do is interacting with files, so it should not come as a surprise that filenames that are complicated, nonsensical, or inconsistent will add unnecessary time to your day.
Avoid creating filenames with:
- A combination of word delimiters (Ex. “my_bad-filename(from bad to worse).txt”).
- Any spaces or periods (you’ll inevitably have to escape them or treat the filename specially)
- Date formats other than YYYY/MM/DD. The important part is not the delimiters, but that the dates can be alphabetically ordered to easily find a specific day, month, or year.
- Names that deviate from any current standard (unless you have a good reason).
- Multiple extensions on the end. Unnecessary extensions make filenames confusing and are bound to cause trouble.
Learn your IDE
Whatever IDE (or even text editor) you use to code is one of your most valuable tools. As such, you should hone your skills with it almost as much as your coding abilities. That includes not just the keyboard shortcuts, but all of its capabilities. What refactoring abilities does it have? Does it support templates and/or scaffolding? Can it find usages of a variable? Does it support live debug editing?
IDE’s are designed to simplify developer’s lives so take full advantage of them.
Avoid multitasking (and distractions)
Practice outside of work
At work, you may not get the chance to expand your coding horizons and try new things, but you should try pick up some kind of personal side project in your free time. It’s your opportunity to build your skill set and preemptively solve problems and work through knowledge gaps on your own terms, without any time pressure or business influence. It’s pure, unadulterated learning, and it’s incredibly beneficial.
It doesn’t have to be the next Facebook, it just needs to have plenty of educational opportunities. As an added perk, it’s a way for you to discover what you’re interested in, and what you never want to do again. That can help you determine your ideal career path, and can save you some painful lessons down the road.