Most of developers that I see are not productive enough and are not even aware that they are doing something wrong or how to fix it. Here are 5 tips to increase your developer productivity based on my 10 years of experience.
Planning / Having no idea what they are doing
The biggest problem is having no clear understanding of what you want to do. Sometimes it comes from not enough knowledge but often even experienced developers are not planning anything.
So you just have a feature implement filters for products for example. You can't just jump into coding because it sounds easy.
- Step 1 is to fully understand requirements
- Step 2 is to plan the MVP. You should make the least work possible to be able to show something.
- Think about implementations, pitfalls, draw a diagram - everything which help you to understand it better
- And only then start coding
You must spend more time planning and less time coding.
awareness / stop wasting your time / distractions
One most thing that I see is that people are often not aware how much time thay are wasting. Social services, chats are eating lots of time during the day. Especially chats. Every time when you answer you lose thoughts and context. The same goes for distractions from other people.
Here are some solutions. For some people it helps to ask themselves constantly about "It is good what I'm doing know?. Is it worth it to waste time reading twitter?".
For other people things like pomodoro technique help to focus completely on the coding without distractions.
Also lots of people think "I can do several things simultaneously. This is fine. I'm productive". Most often it not true. It always makes sense to focus on 1 specific task that you are doing. If you see a bug ignore it if it's not a part of your ticket. If you see bad code ignore it if also. You will finish things faster with a solid focus on 1 single thing.
Also it's important to take breaks. It may sound obviously but nobody is doing it. It's not enough to make just an hour per day pause for lunch and be productive from 9 to 6. It's just not possible. Try to make small pauses at least every 2 hours. Go make a cup of coffee or go get some fresh air. It will clear your mind and it will be much easier and productive to continue working.
Pomodoro technique that I mentioned earlier has pause after each session also for the reason.
And the last thing is the most popular. It's debugging of your code which can take ages. My 2 longest bugs took me 2 weeks to fix so it may be really long.
Here are some tips how to avoid bugs on the first place:
- Install and configure tools that can highlight problems in your editor with typos, incorrect imports, code warnings and everything possible. Things like Typescript, Eslint, Prettier are much have and actually a nobrainer. You configure it once and then you see linting errors and warning when you do something wrong.
- If it's a compile or runtime error read it carefully and make sure that you understand it on 100%. It's what your computer is saying to you. It doesn't make sense to try fixing the problem that you don't understand.
- Also don't try just to change order of code, variables and whatever else code to your mind just to get rid of the error. It doesn't work like this. You need to understand your code from first line to the last line and go step by step to find the error. We don't just change things randomly to make it working
- I also highly recommend you to invest your time and learn debugging tools that you have in your language. Break points, jumps in functions and checking local properties while execution is enormous help and the best way to find the bug.
So this were my 5 tips to increase your programming productivity