Coding and productivity have been the talk of the town for a long time now. There are hundreds of online articles that focuses on the topic. But, before we jump into the topic, we first need to understand that productivity for creative tasks such as coding is hard to measure, as there are too many factors involved.
The general rule of thumb is to measure the number of lines written over time. The metric is commonly used for measuring productivity, but it is not at all effective way. Engineers are also plagued with strange habits that can slow them down. Still, we will focus on general productivity hacks. After you read the article, you will be able to code more productively.
Wild from Sweden, Blekinge, uses D programming language to develop his Operating System. He is currently building the kernel, and will slowly move to implementing other functionalities as well. You can see how he doesn’t waste any time, and stay focused on the job at hand. Check out one of his popular streams below
1. Working less hours
Even though “long working hours” seems to be an established norm in the industry, the opposite should be encouraged. Having less time to work can be really useful. It means you are focused on the task at hand, and thinking to get it solved as fast as possible. With improved focus, you will be more inclined towards smarter solutions.
No doubt there are many benefits of working less hours, but that’s not always the case. For example, if you are working as a game developer, you already know the drill. 80 hours/week is the norm. Working less will just not cut it. Although many advocates vouch for 40 hours/week in the gaming industry.
For other programming jobs, working long hours is considered normal, and is imposed by management. In these scenarios, there is nothing you can do apart from convincing the management otherwise, or find a new job where long working hours is not the norm.
2. Understand the requirement and ask questions
Projects are based on clients’ requirements. Confusions do arise when working in a team. To avoid confusion. the best approach is to have requirements written in the Software Requirement Specification(SRS) document.
If the requirements are still not clear to you, ask a team member or the client to clarify. Once the requirement is clear, go forward and implement the feature. This approach will make you a productive coder. The key takeaway here is not to start implementing a feature without completely understanding it.
3. Get help from a Mentor
If you are a learner and want to become a productive coder, you need to understand the tricks of the trade. The good news is that you can learn them yourself. However, you need to understand there are many things that can only be taught by a mentor. Also, productive coding requires time and patience. Only a mentor can help you gain wisdom faster and make you a productive programmer. You can read more about Code Mentorship here.
Coding is not only about writing code. It is a process of compiling, testing, and deployment. There are many tasks in the workflow that can be optimized or better automated. For example, if you are working with Ruby on Rails, you need to do database migration every time you make changes. You can do the migration yourself, but it can easily break your workflow. Automating the database migration tasks can help you focus on the bigger tasks.
To maximize productivity, you can also automate similar tasks. You can use code generators to automate processes.
5. Take regular breaks
Regular breaks are important for working productively. It doesn’t matter if you are a coder or a writer, timely breaks can help you focus on the task at hand and improve your productivity. One of the best approaches is to use the Pomodoro technique. It is based on the idea of taking small breaks every 25 minutes and one big break every 90 minutes to maximize productivity. You can always optimize the technique according to your preference and persona.
6. Have a proper feedback loop
Feedback is important in any work environment. It considerably improves your work. And not only will you be able to improve your workflow, but you will enhance your productivity at new levels. Note that you should receive feedback in a timely manner to ensure proper growth. If you go to your senior for feedback too often, you are wasting too much of both parties’ time. So, keep a fixed time.
7. Use flow to improve productivity
Flow is an interesting idea in productivity. When in flow, you are more focused on the task. In other words, you work more optimally when you are in the “flow” and ensure time is not wasted. When you are not in flow, it is really hard to concentrate and the yield is always low. The key takeaway here is not to push hard when you are not in the flow. Give yourself a break and work when you can completely focused on the task at hand.
8. Don’t optimize for performance and simplicity too soon
Application performance is an important part of development. Without the right performance ingredients, your application will fall flat on the competitive scene. For developers, it is necessary to optimize their applications or refactor code for easy maintainability. But, none of this should be done in the initial stage. If you start optimizing your code foo soon, you are just hampering your productivity and delaying the project.
It is not about the lines of code you write per hour. It is about the quality of the work and the rate at which you are implementing features for the application you are working on. It should be noted that even though using lines of code (LOC) is a bad metric to know someone’s performance, it can still give a good idea of where the programmer is headed.
A great piece at c2.com discusses the lines of code metric. You can read it here. Also, productivity largely depends on the person, and how he/she likes to work. So, the above-mentioned points can easily be modified and tweaked accordingly.
If you think that we missed important productivity hacks, then don’t forget to comment below and let us know.