Being productive is an essential skill for your success as a developer.
I’m not talking about working late nights or never taking breaks. It’s more about learning to set your priorities and goals and protecting your precious time.
All of this is especially important if you’re new to the software development industry. You have a window of opportunity to lay a strong foundation for making every day at your job a successful one.
If you learn to use the right tools and set the proper habits, increased productivity will lead to more happiness and work-life balance, more fun at work, increased respect from peers, and many opportunities for advancement in your field.
To help you set the right foundation, here are nine of the best tips for developer productivity.
Automate Everything You Can
Why spend one hour a day performing the same repetitive task when you could spend that time automating your chores forever?
In my daily job, for example, I realized that I spent a lot of time looking for tickets assigned to me on GitHub, so I used a little script that automatically sorts them and shows them to me in my note-taking tool.
Little actions like these can save you hours in the long run. Automating repetitive duties, from pushing to GitHub or migrating the DB, allow you to focus on the bigger challenges you need to tackle.
So from today, try to look at your daily workflow and ask yourself: which repetitive tasks could be automated and how?
Use the Command Line
The command line is the secret weapon of every highly productive developer. You’re probably already using it every day to start the local servers of your app, but if you can take the time to explore and master this tool, it will do wonders for you.
Navigating through the UI, working with Git — all these operations take a lot less time when you grasp a few good command-line instructions.
💡 Pro tip: if you want to increase your productivity with the CLI further, take a look at the complex commands that you run often, and write aliases for them.
Take Regular Breaks
As a human being, you have a maximum attention span you can use during the day. So don’t expect to be highly focused for eight hours straight. Instead, shorter bursts of work are much better for your productivity.
Try to work on a time frame of forty-five minutes to one hour. You will notice many benefits, including:
- Increased focus: by reducing the number of connected hours you have to focus, your brain will be less overstressed and able to concentrate.
- Easier to resist temptations: if you know you will have many breaks during the day, you will be more inclined to focus on your current task and not let your mind wander.
Remove All Distractions
According to a study conducted by the University of California Irvine, if you get distracted, it will take you an average of twenty-three minutes to regain control of the task you were busy with. Imagine how much time you could have saved by eliminating all the distractions around you.
Coding is a very self-centered job in terms of your attention; you must be highly focused if you want to accomplish something.
When it’s time to work, make bad habits harder to pursue. Turn off your phone completely, or leave it where it’s hard to reach. If you’re working from home, ask your family not to distract you.
Don’t listen to music if it can be a source of distraction, or use relaxing sounds like lo-fi to help you focus.
“Bad habits repeat themselves again and again not because you don’t want to change, but because you have the wrong system for change.”- James Clear
During your work day, you might be tempted to switch between multiple tasks. While you’re reviewing code, you may switch back to bug fixing your latest feature.
When you do this, you’re actually forcing your brain to reset every time you switch between contexts, the same as with distractions. Whenever you task switch, it takes a long time to get a hang on what’s happening.
Plus, context-switching is highly time-consuming due to coding itself. If you want to work on two different features, you have to switch branches, restart the server, and download each branch’s dependencies.
Don’t try to rush. Focusing on one task at a time is always better than trying to achieve ten different things at the same time.
Communicate with Your Peers
Being stuck on a problem is frustrating, and you might be tempted to not share your issue with your colleagues out of fear of being judged as a bad developer.
Remember, your colleagues have the same goal as you — to deliver a working solution that clients will want to use. So never hesitate to ask for their help or opinion.
I usually follow this rule of thumb: if I’ve been stuck on the same problem for more than two hours, and if I’ve tested all possible solutions I could think of, I will contact one of my colleagues.
Plan What You’re Going to Do for the Day
Your time is always going to be limited, which is why you should focus on prioritizing certain tasks over others.
Every morning, or even the night before, write down exactly what you must accomplish on a specific workday. Don’t aim to compile a list with thirty items. Focus on just three to five items, or you will risk burning out or not feeling accomplished.
Also, be specific about what you want to do. Don’t say, “Tomorrow I will review code by my peers.” Rather, say “Tomorrow, from 4 pm to 6 pm, I will review two pull requests from my peers.”
Never Strive for Perfection
At the beginning of your career, you might be tempted to try and always write the most perfect solution for the problems you’re facing. You will obsess about a few lines of code, trying to make them perfect and look exactly how you imagined them.
This behavior will take you in exactly the opposite direction you’re expecting. It will slow you down tremendously, even for the easiest tasks.
“Find a judo solution, one that delivers maximum efficiency with minimum effort. When good enough gets the job done, go for it.”- Jason Fried
Don’t strive for perfection when writing software. Remember: there’s never a perfect solution, but there is a good solution for your particular case. You will always have to find a compromise between readability, maintenance, and performance.
Strive to deliver code that works, is readable, and can be scaled in the future. And remember, as the author of C++, Bjarne Stroustrup, always like to remind in his book for beginner developers :
“Perfect is the enemy of the good.” –Voltaire
Start with Complex Tasks First
As Brian Tracy, the famous author of the book Eat That Frog, says, you should always start your workday with the most important tasks for yourself.
How do you find the most important task for you? Identify the thing you can do that makes the biggest impact on your work.
Is it creating new features? Bug fixing? Reviewing code?
Identify what it is, and then start your day with that task.
You might have noticed that your energy levels decrease during the day. If you focus on the most important task first, you can handle less demanding tasks at the end of the day when you’re exhausted.
This habit not only increases your morale during the day, it also helps your career progress faster.
Being productive is one of the skills you must learn for a successful and fulfilling career. You don’t want to spend your days in frustration, feeling like you accomplished nothing.
These nine tips will help you to set the foundation to achieve more satisfaction, garner higher pay, receive more peer recognition, and create more opportunities.
And if you’re looking for a great tool to improve your productivity, you can try Pieces.
Pieces is the fastest way to save your code snippets. With just one click, you can save all your most important lines of code without ever breaking your workflow.
Pieces works with a variety of your favorite tools, from IntelliJ to Visual Studio Code, and you can integrate it immediately for an enhanced, effective workflow.
After all, as Addy Osmani said:
“Craftsmanship is choosing your tools well.”