It’s easy to fall into a habit of being comfortable. When it comes to coding, productivity can be improved in two ways — getting good at the language you’re working with or upgrading your environment and processes incrementally.
In James Clear’s book Atomic Habits, he talks about the positive net effect of incremental gains. In a nutshell, it’s the process of improving lots of little things that seems trivial. However, when these improvements are added together, they result in a significant positive gain. For us, our work is more than just code. It’s a process of translating thoughts and ideas into a digitally concrete creation. This means that there are plenty of surface area improvements that we can do to improve and increase our overall productivity, effectiveness, and efficiency.
Here are 21 macro and micro improvements to your workspace, workplace, and general way of working to obtain a significant positive gain.
1. Code editor theme
Many of us are still using the default theme that came with our code editors. However, there is a myriad of code editor themes that you can use to help increase your productivity through class, function, and block color coordination.
2. IntelliSense choice
By default, all popular code editors come with some form of IntelliSense. However, not every IntelliSense implementation is made equal. What is IntelliSense? It’s basically predictive coding.
Every programming language has its way of doing things, which means that a singular IntelliSense is unlikely to cover all the quirks and perks, in addition to library and framework support.
Installing IntelliSense that is geared towards your project’s stack can increase your overall productivity by intelligently making additional suggestions for your context.
TabNine is a good contextual-based IntelliSense plugin.
3. Agile with a plan
Just because agile means speed, it doesn’t mean putting your foot on the gas pedal without a destination or direction. There is often a misconception when it comes to agile because the different layers of the business aren’t quite on the same page.
If you’re feeling stressed and like you’re coding into a black hole, there’s a high chance that agile has been implemented incorrectly. To increase your overall productivity, work on being clear and establish a general unified vision and mission for software products. It’ll give you a generalized plan to keep everyone focused and make your coding life easier.
4. Get a better keyboard
Your keyboard can determine your top rate typing speed, in addition to ergonomics, comfort, and tactile sensory enhancements.
Mechanical keyboards are popular because of their durability and customizability. The keyboard layout can also increase productivity based on where the keys are sitting in proximity to each other. Smaller keyboards like Ducky, Anne Pro, and Keychron are good options through their compact design and key accessibility.
5. Learn to use your keyboard
It’s easy to upgrade your keyboard. However, a keyboard is only one of your tools. It doesn’t matter how expensive, ergonomic, or LED fuelled your keyboard is, it won’t do much unless you know how to use it properly.
This means learning the shortcuts and navigation methods that are accessible via your keyboard for your code editor, terminal, and desktop. It will eliminate the dead time that comes with parting your fingers from your keyboard to use your mouse.
Here is a list of resources you can check out for keyboard shortcuts.
- Visual Studio Code Key Bindings
- Keyboard shortcuts in Windows
- Windows 10: useful Keyboard Shortcuts You Need To Know
- VSCode Keyboard Shortcuts for Productivity
6. Upgrade your ram
Some programs, emulators, and editors can make your workstation feel like a relic from the 90s. Docker makes my laptop sound like an airplane about to take off.
If upgrading your entire workstation is not possible, the cheaper option is to upgrade your ram. A little extra ram for an increased processing speed of 1s can incrementally reduce the sunk cost time that comes with waiting for things to happen.
7. live reload
If you’re working in the frontend, implementing live reload is a necessity. Sometimes, live reload doesn’t come out of the box and will require the implementation to work.
The quickest and easiest way to achieve this is to add LiveReload to your project via
npm install -g livereload
Here are the instructions on how it works and how to use it.
Formatting your code manually isn’t the best use of your time. Not only that, there’s a chance that you might spend some time debating with a team member on how to format code so that it is consistent throughout the project.
Remove this time sucker by using Prettier — an opinionated code formatter that takes the responsibility of deciding how to space your code by doing it for you.
9. Learn and use patterns
There’s no point re-inventing the wheel. Software development has been around for long enough to have a plethora of lessons learned and best practices available for your language, framework, and library of choice.
Patterns act as a general blueprint on how to do things in the most effective way. If you learn patterns, then you can mix and match them like Lego to build whatever you need in a stable manner.
10. Clean your desk
The more cluttered your desk is, the higher the background mental load you have.
It’s not about going full minimalist — rather, having a clean desk is about having only the things you actually need. This means getting rid of all the scribbled bits of paper you don’t need, kids' toys (if you’re a WFH parent), dead plants, and whatever else you don’t need.
11. Get a plant friend
In addition to making your air crisp, a study found that a plant in the workplace increased productivity by 15%.
We’re made for the outdoors and not concrete walls. So get a plant friend and water it with care. If you have a track record of killing green things, then opt for a succulent. They can last for weeks without water.
12. Be friends with the command line
Your command line is the thing that can launch a thousand folders in less than a minute if you wanted. Well, it’s a bit of a hypothetical exaggeration but working in the command line is much faster overall than clicking around.
Because you are navigating to exactly where you want to be and do exactly what you want to do without the need for additional windows, programs, and clicking about. Here’s a good short video on how to use the Command Line.
13. Attack your code with a plan
Coding without a plan is like building a house without a blueprint. This issue is endemic among new and junior developers. You don’t need to make grand designs before you start coding — rather, the minimum you need is a workflow of what you want your code looks like.
Write some pseudo-code. You don’t need to know the exact details of what to write but the general gist of what, why, and how you’re going to write your code. Having this plan will help you create code faster.
14. Think like a spider, write in code blocks
Sometimes, we overthink our code. I’m sure we’ve all heard it a bazillion times before — keep your code clean, write with modularity, the less you write the better…
But what exactly do all these things mean?
In a nutshell, it’s basically telling you to think like a spider and write in code blocks.
The spider constructs an intricate web, one thread at a time whilst methodologically connecting up the necessary points. Your code blocks are the threads — simple, single tasked, and linear. Your connected nodes are where parts of the code connect up to form the system as you know it. The more organized and intentional your software is, the higher the chances of it being organized.
15. Track your actuals against estimates
It’s easy to have your time trickle away into oblivion without knowing where it went. Physically tracking your time in a time log helps you determine how accurate your time estimates are.
Sometimes, what you thought was an hour may actually be 35 minutes of actual work. 15 minutes lost here and there can quickly add up. Toggl is a good free time tracking app that is cross-platform and reporting if you use projects and tags.
16. Pomodoro your flow state
Pomodoros don’t have to be in 15-minute sessions. They can be as short or long as you want them to be. If you have trouble staying on task and focus, you can start with shorter time intervals like 15–25 minutes. If you want to have longer work periods with clear scheduled breaks, 45-minute sessions tend to be a good length to achieve things.
Having a pomodoro ticking along in the background can also help us focus by making us conscious of time and how it is being used. Here is a good little pomodoro browser app called Pomofocus.
17. Wear physical headphones
Physical headphones and headsets can act as a physical and visual barrier against distractions. While ear pods are great due to the lack of wires, it’s not the same as having a piece of wire or a giant set of earmuff-like devices that signals to outsiders that you are in the middle of doing something.
It can make the external world pause and think about the urgency of the issue before they come and interrupt you. There’s also no requirement to play music through it — just its physical location on your ears can also help prime your brain and signal that it is focus time. With enough practice, the act of having your headphones on can assist you in to your flow state faster.
18. Reduce your caffeine
Caffeine is great. Caffeine is also synonymous with dev work. However, sometimes it's good to cut back on the black liquid.
The issue with caffeine is that if you’re too reliant on it, it can lead to adrenal fatigue. It can also mess with your iron absorption if you drink enough of it. This can lead to sub-optimal cognitive abilities, general brain fog, and whatever else that comes with your body working overtime to function at its most basic level.
I’m not a doctor but if your body isn’t balanced, then you’re brain is going to wobble when you try to use it. Caffeine is alright in moderation — just not excessive consumption to a point where you’re reliant on it to function.
19. 7-minute workout
Dev work is sedentary work. It’s easy to fall into the comfort trap, especially if you’re working from home. While the perk of not having to sit in traffic is great, you also lose the mini-walks you get from the parking lot to your desk. What about those little trips to get your barista-brewed coffee? Or the lunch breaks outside?
In the office or at home, there’s a high chance that we’re not moving as much as we think we are. Our muscles are most likely conditioned blobs. The thing about exercise is that you don’t need to train like you’re about to run a marathon to see the benefits — small but frequent doses of activity can make a difference.
If you haven’t already tried it, give the 7-minute workout a shot. It’s only 7 minutes of your life, maybe once, twice, or thrice a day. Give it your best effort and get your oxygen levels up. It’ll help improve your general focus and the break might even help solve that bug you’ve been starring at for the past hour.
20. Don’t rely on StackOverflow
Yes. We all love StackOverflow and the person that asked the question you have — five years ago.
However, we shouldn’t be relying on our entire problem-solving work on StackOverflow. Sure, having the answer is great but understanding the solution is also much better.
Don’t just copy and paste. Read, process, and recreate it in the context of your project is a better process. It’ll also save you time searching for the same thing in the future.
21. Learn from daily snippets
Social media is only as productive as the people you follow. Instagram, for example, isn’t just for duckface selfies. There are accounts like Baby Wolf Codes, codechips, and SimonHoiberg that do code snippets.
You can learn a lot from code snippets that will eventually find your way into your code. It’ll also help you turn into a better developer by making you aware of things you may not know. Your scrolling becomes less of a sunk cost and more productive while you wait for the kettle to boil or your coffee to brew.
Code is ultimately a tool. How well you are able to use it is determined by a myriad of little things — from cognition optimization to the ancillary tools like your keyboard.
I hope you’ve found this piece, its suggestions, and links useful. Thank you for reading.