2

"What do programmers, developers, and software engineers do every day? How much time do they spend writing code?" Are you also curious about this question? Recently, Retool conducted a survey of 600 software engineers (including ICs and managers), and the results of the report were startling.

run someone else's code

"Most of the time we're running someone else's code," according to the engineers who participated in the survey.

They say they can imagine a day in the life of a software engineer where they typically think of writing completely new code, building new features, fixing bugs, etc. in a text editor. But in 2022, the vast majority of software engineers are running someone else's code -- building on open source libraries, or reusing code from other parts of a company's codebase or online tutorials.

Nearly 90% consider open source code essential

It's no secret that open source has been gaining traction in recent years, but the degree to which open source code is critical to modern codebases is surprising. Nearly 90 percent of engineers surveyed (29 percent very important, 54 percent somewhat important) believe open source code is at least essential to their day-to-day work. Additionally, less than 1% confidently said it was not necessary.

Over 80% of developers bring open source code to the codebase at least once a month

Frequency with which engineers pull open-source code into codebase

If you're building an application on Node, you're technically using open source code all the time, but the dependencies are deeper than that. The survey data shows that more than 80% of developers actively bring open source code to their work (via StackOverflow or otherwise) at least once a month, nearly 50% at least once a week, and a slightly higher percentage of junior engineers in senior engineer.

Junior developers copy more code than senior developers

Previously, there was StackOverflow meme data showing that developers were copying a lot of code, not only from the Internet, but also copying internal code snippets and reusing code they had written. The data in the survey report also supports the above conclusions. It is worth noting that junior developers copy more code than senior developers, which is consistent with the use of open source modalities.

Developers prefer to spend less time making testing changes


Today, with the proliferation of tools like Vercel, Netlify, etc., deploying applications has become more and more complex. Software is a much larger percentage of the world than it used to be, bringing with it expectations for uptime and reliability that may not have existed in the past.

By testing the software more, it was discovered that the integration tests took hours to run and were difficult to build, requiring fake data, mocks and stubs. You have to switch back and forth between different operating systems, dark and light modes, browsers, and even different kinds of Mac chips to explore.

As these build processes become more complex, especially with more tests, software engineers will have to spend more time waiting for machines to run. For example, SQL queries take a long time to run on large tables, database synchronization is slow, and building a full repo can take up to 20 minutes: all of which take up valuable time.

The survey data shows that software engineers are really more willing to spend less time testing changes and want to spend time doing the most important things, and this applies to both individual contributors and managers.

Biggest Everyday Challenge: Human Barriers


If life was just writing code, things would be easier. But in the survey, software engineers said human obstacles, such as disruptive shifts in project direction, delays in code reviews, or trying to figure out who owns which piece of code, were the biggest frustrations they faced every day.

Data shows that 38% of engineers say that waiting for people (e.g. waiting for code reviews, requirements) is an important issue in their day-to-day work. In particular, it takes nearly a full week for code to get from a software engineer's brain into production, a statistic that may be relevant to how well your company is doing.


In the "Amount of time ICs get a code review for a single pull request," 57% of developers said it took more than 4 hours to get a pull request through a code review, and 26% said it took more than a day.

Additionally, over 30% of developers say it can take more than half a day to figure out who exactly owns a piece of code and the associated need to get context. Predictably, delays in determining code ownership are more common in larger companies: 21% of developers at companies with more than 1K employees said it often took more than a business day to determine who owns a piece of code, compared to , companies with fewer employees delayed determining code ownership by less than 10 percent.

Over 30% of developers want to spend less time recruiting/interviewing

With the shortage of software engineers, many companies are actively attracting all kinds of talent, but the burden of this recruitment falls on the engineers currently employed: interviews, networking or other aspects.

The survey data shows that more than 30% of developers say they would rather spend less time recruiting and interviewing.

The same pattern seen at larger companies applies here: At companies with more than 1K employees, almost half (45%) of developers want to spend less time on recruiting than developers at companies with fewer than 250 employees Staff is 50% higher.

This difference may be purely because organizations with larger companies may have longer and more difficult interview processes, but outside of sheer size, growth rates may play a significant role in this. Fast-growing companies need to hire engineers quickly and don't have as many employees to carry the ever-increasing burden of interviewing and recruiting.

68% find they are more productive in the office

Affected by the epidemic, companies around the world are adjusting their office rhythms. The survey data also shows that many developers find themselves more productive in the office, at least to a certain extent.

Software engineers working at companies with a full office policy (i.e. not allowing remote) say they feel more productive in person (68%) than software engineers working at a company without a full office policy (34%) double.

In addition, the survey found that engineers, on average, only have about 10 hours of "deep work" per week. This result is also due to the distractors mentioned above: interviewing, waiting for code reviews, testing and building, and even figuring out who owns what code. In fact, junior engineers spend much more time on average, maybe 20% more than senior engineers, because they have less administrative stuff to deal with.

Overview

With the increasing reliance of enterprises on open source software, many shortcomings and concerns will arise while promoting the development of software technology. Especially under the premise that open source specifications have not fully kept up with the pace of today's software ecosystem development, it is more important to discuss the problems faced by developers.

Therefore, the above survey report can give us a good understanding of some of the problems that software engineers and developers face in daily time management, which is also of great significance for building the healthy development of the entire open source ecosystem. Developers are also welcome to express their opinions on the survey results, and comment and interact in the message area.

Click to view the full report: https://retool.com/reports/state-of-engineering-time-2022/


MissD
955 声望40 粉丝