Developers Spend Less Than 10% of Time Coding
Knowing how they spend the time, is key to improve their productivity. TLDR; it is even less, starting with meetings, plannings, …
In this story, I will try to create a comprehensive list of all the tasks that a developer is facing in its day job, so we can understand better how they spend the time, and how we can improve their productivity.
I have read some sources pointing that the time coding is around 50%, but after talking to some authors, or they either confessed that they put that number just to avoid confrontations, or they include other activities as “Coding time”.
When we think in coders and productivity, we know that they do not spend all the working time in front of the computer. That is the percentage of time that we mostly agree in which the developers do not spend their time coding. Yet, they can be productive.
Typical meetings in a day by day job of a developer may include all the ceremonies: standups, decompositions, plannings, and retrospectives. All of these are nowadays standard de facto in most of the companies, and take around 1 hour a day (15%), up to one day per week (20%).
In addition to these meetings, there are other typical, not part of most processes, but that they occur in one form or the other. We are considering One-to-One talks with the manager, meetings with architects or other roles like tech leads to decide the code design, and meetings with POs or QAs to clarify some doubts.
Considering this, and the fact that developers need to recover the context after each meeting, attending to meetings can achieve reasonably the 25% of the job.
It is often not too much, but it also has some weight. Developers have to make visible all their work through the day. Often the simpler step is keeping up to date with the task tracking app, it is common to make visible through. Keeping Jira up to date, it might take around 30 minutes and 1 hour through the day. It sounds overestimated, but it includes opening the app, finding what to do, looking the next task, return later, update the status, and so on.