The Key to Enhancing the Developer Experience

Customer experiences are mediated through digital channels. At the root of the digital experience is software. However, building and delivering products is neglected including the developers.

The Key to Enhancing the Developer Experience

"The customer is always right" is a frequently quoted expression which exhorts employees to give high priority to customer satisfaction. The phrase, pioneered by successful retailers Harry Gordon Selfridge, John Wanamaker and Marshall Field, reveals the desire of businesses to differentiate themselves against others in their industries.

Firms dedicate generous amounts of funding and resources in their pursuit to create positive customer experiences, which generate brand loyalty. Their ability to do so is virtually equivalent to the success--or failure--of the business.

Nowadays, these experiences are frequently mediated through digital channels. At the root of the digital experience is software. However, in the process of building and delivering products catered towards providing the digital experience, some things are neglected--including the developers behind much of the software development work. 

Developers are certainly among the most expensive and difficult to hire in a company’s staff. Yet, it appears that few companies are working to improve the developer experience, to ensure that the developers are happy.

Microsoft’s research findings found that “satisfied developers are more productive and write better code”. But how do we translate this into improving the developer experience? What would keep developers satisfied? Stack Overflow provided some insight in their 2019 survey, where they asked developers what the biggest productivity killers in the office were. Developers listed non-development tasks, meetings, toxic work culture, shortage of manpower and tools, and so on… But the top challenge to productivity, and perhaps even the challenge which is easiest to solve, is distractions. In fact, ActiveState’s 2019 Developer Survey found that the majority of developers - over 61% - spend 4 hours or less on programming every day.

When it comes to identifying distractions, certain sources are obvious. Perhaps it’s the random colleague who talks way too loudly in the open office space, or the people sitting nearby who goof off every now and then - all these little things eventually add up to a generally unconducive working environment. But then there are the less obvious sources of distraction, and surprisingly, the biggest distraction of them all may be the very tool meant to enhance productivity - Slack.

Slack is an indisputable favourite among developers; after all, the communication tool was originally considered more of a developer tool, and its success and popularity among businesses is greatly attributed to developers. According to an article by Vox, however, we are drowning in communications.

“A good thing until you have too much of it.”

Like most other office communication tools, Slack is meant to facilitate collaboration in the increasingly digital world. Their functionalities and instantaneous messaging services seek to enhance productivity, tackling the issue highlighted in a 2012 study by consulting firm McKinsey, that “the average interaction worker spends an estimated 28 percent of the workweek managing email and nearly 20 percent looking for internal information or tracking down colleagues who can help with specific tasks”. McKinsey reported that “workplace communications technologies have the potential to increase employee productivity by up to 25%”.

The launch of Slack saw the decline in email messages; yet email usage still represented 10% of the people spent actively on screens at work. Most of the remaining time is filled up by messaging applications - in other words, the time spent on communication had not decreased. 

“By lowering the barrier to initiate communication, the hidden side effect is that Slack has the quiet capacity to exponentially increase communication overhead.” (Liu, 2018).

These distractions can be costly. A study found that it could take up to 23 minutes to get back on task after an interruption, and even longer to return to a “flow state” of deep concentration where problem-solving and creativity are at their optimal levels.

“When I encounter a typical knowledge economy office, with its hive mind buzz of constant unstructured conversation, I don’t see a super-connected, fast-moving and agile organization. I instead see a poorly designed distributed system.” (Newport, 2017).

Communicating is definitely not a challenge - the rise of communications and messaging tools is a testament to the statement. The problem lies in context, or rather, the lack thereof - people struggle in finding the information they require, and in seeking the people who can help. 

“If we don’t have good systems that take this large amount of communications that gets generated through enterprise social tools, we can become overwhelmed by them.” (Chui, 2019)

This is especially true of developers, who are usually seeking highly technical and contextual information. Companies struggle with collecting and sharing relevant, applicable information easily; useful content is lost in messaging applications, emails, file sharing platforms, and even from people’s minds. Too often, important information would slip a person’s mind; and it is an unavoidable occurrence, involving knowledge that cannot be retrieved no matter how technically advanced the search tool implemented is. 

The solution would be an application which enables developers to save and share relevant information without needless friction; a collaborative platform which can increase the ease of knowledge transfer from one person to another, a team, or a company, in a formation that is easy to search and share. With content, there is also the community dimension which spurs engagement, encouraging more to participate, share knowledge, and verify content. Rather than being another silo, the application should integrate into other knowledge bases, repositories, and communications channels in a knowledge architecture which facilitates the seamless distribution of knowledge.

Readily available, discoverable, and relevant information brings the endless streams of chat interruptions to an order. Developers can find answers from chat pulled directly from this community platform. At the same time, the developers who can help are pinged in channels they subscribe to, when new questions relevant to their interests are added. With both context and communication in place, chat becomes manageable and the interrupts are put under control.

Doing this one thing to improve the developer experience also happens to be a smart financial move. Workplace distractions rob developers of nearly 90 minutes per week - the elimination of distractions would mean 90 minutes saved. And according to data from Stack Overflow’s survey, another 90 minutes is saved having easy access to technical information. Calculating based on the average fully loaded labor cost for US developers, a company of 1,000 developers could potentially save over $10 million per year by enhancing productivity. Other factors such as distributed team coordination, onboarding new employees, and new product ramp time could bring even more savings, given all of those activities creates significant communications overhead. In other words, this one thing would make both your developers and the CFO happy!

Featured posts