If you are a developer, you have undoubtedly had days where you could get a lot done, and then there are days when nothing gets done. Most achieve their peak productivity in their own ways; however, through some practices, you'll be able to improve your productivity to a great extent.
You might be familiar with some of the ideas I'm sharing, but bear with me, and you'll find something worth your time. This post was initially planned for newbie developers, but there are some ideas that an experienced dev might also benefit from.
1. Define your productive hours: You are not at your productive best throughout the day, and it is in your best interest to identify your most productive hours of the day. Once identified, dedicate this period purely to high cognition tasks.
2. Shortcuts, shortcuts & shortcuts: Get used to using keyboard shortcuts as much as you can. Ideally, it would be best if you use your mouse or track pad only when necessary. Tools like Alfred & Hammerspoon can make your life pretty easy once you have configured it and are comfortable using it. Also, it would be helpful to get to know your IDE better.
3. Secure your workspace: It is hard to be productive when everyone keeps walking into your workspace, thereby disrupting your flow. So let your teammates know that you are not available during certain times of the day or when you are busy on a task.
4. Automate recurrences: If you are doing something repeatedly without changing a lot, consider automating that task (DRY - Don't repeat yourself). A quick Google search will likely give you automation snippets that other developers like you have created.
5. Code Review: When you start a career in development, you should get your code reviewed as often as possible. It would help if you also considered pair-programming with someone from your team regularly to improve your code quality.
6. Validate design, develop later: Jumping right into writing code is one of the most common rookie mistakes a developer makes. It is crucial first to design a logical path to arrive at a solution based on the nature of the problem.
7. CICD: Continuous integration, deployment, and testing are critical to your development process. Following CICD can help you design straightforward releases, catch bugs early, and reduce time spent manually testing as a new developer.
8. Optimize Tools: You must choose your tools carefully. Everything from your IDE to your screen's back-light manager, it is essential to choose wisely. If it is a paid tool, then consider the pros and cons before immediately dismissing it. Sometimes spending $10 a month might reap much higher returns indirectly in the long run.
9. Eat the Frog: When you have important hard tasks on your plate, do it first thing in the morning. It is better to get done with hard tasks early than to wait till the last hour. In addition to "Eating the Frog," also inculcates the 2-minute rule where if a task takes you less than 2 minutes, you do it immediately.
10. Urgent is not Important: When deciding on tasks to work on, remember to distinguish between urgent and important tasks. You can use a tool like the Eisenhower Matrix to make this decision-making process easy.
So that was it. If you found value in this post, then consider looking at the Routine blog. Also, if you are interested in consuming productivity content in audio form, then "The Productive Minute" podcast by Routine might interest you.
Thanks for reading. Happy coding.