Introduction
Over the last decade, we’ve witnessed a growing divide in the world of software development. Technology giants deploy code daily across complex systems managed by tens of thousands of developers. They coordinate hundreds of projects and teams, spread around the world and across time zones. They enable fast deployments, fast reviews, and fast data. As a result, they consistently deliver value to their customers, set their industry’s pace for innovation, and ultimately win in the marketplace.
At the same time, many companies are falling behind. Engineering teams struggle with roadblocks and bottlenecks during the development process. Taking an idea to production can take months or even quarters. Developers battle distractions — too many meetings, too many interruptions, and too much wait time on processes and systems — all of which impact the first prerequisite for high-performing engineering teams: code time.
Without time to focus and enter a state of flow, developers are limited in their ability to get work done. The best engineering organizations prioritize and defend code time by limiting meetings, reducing distractions, and removing constraints with the right tools and automations. This report explores data from our global community and uncovers how much time developers have available to code during the workday.
Developers code less than one hour per day
Based on data from 250K+ developers in our global community, developers code 52 minutes per day — about 4 hours and 21 minutes during a normal workweek from Monday to Friday.¹
Code time is defined as time spent actively writing or editing code in an editor or IDE, which we use as an indicator of the amount of focused, uninterrupted time that developers have available to code during the workday.
Based on our estimates, developers spend an additional 41 minutes per day on other types of work in their editors, such as reading code, reviewing pull requests, and browsing documentation.
Our takeaway: Our findings suggest that developers frequently face constraints at work that prevent them from finding uninterrupted time to code.
1. This value is calculated by taking the median daily code time for all developers in our global cohort. We use a 90-day rolling average per developer to normalize the data.
Emerging economies code more than median
Among the world’s largest advanced economies, known collectively as the G7, developers in Italy, France, and Japan spend the most time per day actively coding. In an analysis of ten countries categorized as emerging markets by the International Monetary Fund (IMF), we found that developers in Thailand, Turkey, and Brazil spend the most time coding.
We limited our analysis to countries with at least 100 active users and classified countries according to data from the IMF’s World Economic Outlook.
Interestingly, developers in the top emerging markets code more than the global median, which may indicate that software engineering is rapidly increasing in popularity in those countries.
Coding peaks on Wednesdays
Coding peaks on Wednesday, when developers code a median of 55 minutes, and falls to 46 minutes on Friday, the least popular workday for coding. Most developers continue coding through the weekend; developers code a median of about 18 minutes per day on Saturday and Sunday.
To filter out part-time developers, our analysis is limited to developers who coded at least 7 of the last 30 days.
Few developers code more than 2 hours per day
Our data reveals that only about 10% of developers spend more than 2 hours per day coding, including weekends. About 40% of developers spend more than 1 hour per day coding.
In a 2019 ActiveState Survey, over 75% of developers reported spending more than two hours per day coding. Survey data is prone to respondent biases; our findings indicate that developers spend less time actively coding than they perceive.
1. Percentiles are calculated using 90-day averages, including weekends.
Late afternoon is the most popular code time
Our analysis revealed that about 45% of all workday coding occurs between 2pm and 5pm, indicating that developers may be busier with meetings and other work during the morning.
Coding tends to start later in the day and continue after traditional work hours. Just 10% of coding occurs between 9am and 11am, while 12% of coding happens after work hours between 5pm and 7pm.
Mornings can be an important time for focused and uninterrupted coding. If more companies protected mornings, we might see an increase in the global average code time per day.
Most popular languages
We looked at the top 10 most popular languages according to the 2021 Stack Overflow Survey and ranked them by median minutes coded per day.
Developers using TypeScript, a fast-growing subset of JavaScript designed and maintained by Microsoft, spend the most time coding per day, on average. Since its launch in 2012, TypeScript has seen widespread adoption across tech companies, including Slack, Airbnb, Netflix, and Shopify.
TypeScript and Dart, which are both strongly-typed languages, may rank at the top because they require developers to spend more time implementing stricter variable rules upfront.
Conclusion
If developers are spending less than an hour per day coding at work, where is the rest of their time going? A developer’s day is spread across many other activities, such as planning, documentation, meetings, and collaboration.
But our findings point to a more alarming hypothesis: that most companies ineffectively deploy their development teams, bogging down engineers with distractions, disruptions, and meetings as well as system inefficiencies, such as slow reviews, slow builds, and bad tools.
Engineering friction is the greatest threat to development success, productivity, and flow. While many believe elite engineering performance belongs only to tech titans, we believe most companies can begin to close the widening gap in software development by measuring and improving DevOps performance.
Here’s what leaders can do to shift the paradigm:
1. Improve daily work
Find and fix bottlenecks that disrupt an organization’s development flow and impede developers. Improve the organization’s DevOps practices to reduce wait time, minimize frustration, and improve daily work.
2. Make DevOps visible
Measure system-level DevOps metrics — such as delivery velocity and late-stage rework — to identify engineering friction. Understand how work flows through the value stream and uncover what’s blocking developers, like meetings and inefficient review processes.
3. Continuously improve with data
Improvement of daily work is more important than daily work itself. Engineering teams should reserve development time and cycles for improvement work with the goal of increasing team productivity. Such work includes paying down technical debt, migrations, refactoring, and retooling.
About the report
In this report, data is analyzed from our Code Time plugin for popular code editors, such as Visual Studio Code and IntelliJ. Data is analyzed for 250K+ developers across the world from July 1, 2021 to October 1, 2021. Over 201 countries with ISO-3166 codes are represented in the dataset.
At Software, our mission is to transform software development by empowering engineering teams with the world’s most powerful DevOps metrics platform. We collect data across the stack to provide engineering organizations with the data they need to measure their DevOps performance, see how they compare to global and industry benchmarks, and inspire continuous improvement.
For more information, visit www.software.com or follow @software_hq on Twitter.