One of the most important breakthroughs in personal computing over the last 15 years was the arrival of design thinking around user experience, the now-obvious idea that when average people pick up a new computer or use a new app they should quickly understand how it works. Turns out software developers are people, too.
Some companies building enterprise tech are well-versed in the importance of developer experience, with the rise of Stripe, Twilio, and Auth0 showing that developers will choose technology that makes their lives easier over more established alternatives. Developers have different needs than average computer users, of course, but they still value sharp user interfaces, well-written documentation and tools that let them quickly get up to speed.
"Sometimes I say it's the time to 'Hello world,'" said Cassidy Williams, principal developer experience engineer at Netlify, referring to how quickly developers can write a simple program used to learn a new programming language or development tool. "If developers are your customers, you have to care about developer experience."
However, developers — especially ones at companies outside the tech industry — don't always get to choose their tools. A lot of enterprise technology is still designed for and purchased by C-level executives who are concerned about cost and susceptible to buzzwords.
Even AWS, which began life as a developer-friendly alternative to centralized IT systems, finds itself in 2021 managing hundreds of services designed by small, separate teams that appear to rarely talk to each other, according to customers and partners. The original intent was to offer developers everything they could ever want through the cloud, but there's a steep learning curve, even for experienced craftspeople.
"It's difficult to know where to go to get started if you haven't used [AWS] before, and it's overwhelming to anyone who's there," said Corey Quinn, principal economist for the Duckbill Group.
Designing for the new developer
Enterprise technology evolved so quickly over the last decade that for a long time, developers were excited just to get their hands on some of these new tools. Any pain they experienced at the outset was worth unlocking new capabilities that changed the way software was built forever.
Those days are over, now that every company is trying to figure out how to become a software company. And the long-overdue push for diversity and inclusion in enterprise tech is expanding the ranks of developer tool makers, leading to a new focus on tools designed around diverse groups of people.
"We have over a million unfilled developer jobs in the U.S. alone this year," said Amanda Silver, corporate vice president of product for developer tools at Microsoft. "There's [also] going to be more designers, more data scientists and digital product creators; all of these other kinds of adjacent roles to developers are also going to grow."
Stephen O'Grady, co-founder of analyst firm Redmonk, articulated how the "developer experience gap" has emerged from the "Scrooge McDuck-level embarrassment of riches" provided by the modern enterprise tech market in a blog post last October.
"The same market that offers developers any infrastructure primitive they could possibly want is simultaneously telling them that piecing them together is a developer's problem," he wrote.
Cloud computing shifted the value of software from the code itself to the ability to deliver that code reliably at scale. Similarly, the value in developer tools is shifting to the companies that make it as easy as possible to stitch together a modern application. End users expect more from their apps and web experiences than they did even just a few years ago, and developer tools that make it easier to deliver those experiences are shaping the next decade of enterprise tech.
"Tech is a huge industry, developers are really expensive and things are getting a lot more complex in that area," said Ian Jennings, founder of Haxor, which helps toolmakers see how their developer experience measures up through user testing. "People are now interested in how we can make developers faster."
The most fundamental unit of modern developer experience is probably the application programming interface, which gives you some indication of why the industry was so closely watching the Google-Oracle dispute at the Supreme Court over the copyright-ability of APIs.
"When a developer is learning any new domain, they learn it through the API," Silver said. "It's fairly rare that a developer learns a new programming language; it might happen a few times in their career, but they learn new APIs constantly."
APIs specify what a given piece of software can do, and developers implement APIs in their own applications to unlock external services. Countless numbers of mobile and web applications use Stripe's payment-processing technology through an API that can be customized around their brand and business needs.
Clean, well-articulated APIs allow developers to move faster and with more confidence, creating what Silver called the "developer inner loop," or "the edit-debug-build cycle." "Those cycles of writing code, seeing how the code works, fixing your bugs and essentially writing the application that you need to work on," she said.
Developers under pressure from their bosses to ship software, and blessed with the rich number of options that O'Grady described, are going to reward companies building powerful yet easy-to-understand APIs.
"It's not about you providing a single service, it's about you creating an economy on top of your business," Silver said. "Good API design is super important."
But while developer experience might start with the API, it doesn't end there.
Businesses selling complex tech products to developers have always needed to provide ample documentation detailing how those products work. They are starting to realize that technical manuals don't have to be written in soulless prose.
"People are very responsive to someone who talks to them like a person," Williams said. A more natural-language approach also helps bridge the gap between the homogenous product-development teams inside many enterprise tech companies and the more diverse development communities who will be actually using those tools, she said.
Building on that push for accessibility is growing interest in serverless technologies, which abstract some of the trickier concepts of building and running modern software away from the developer. Observability is also changing the way developers build, test and run their applications through better understanding of how those applications fail.
"I think that there is a movement in that way, where the developer experience of things is improving more and more because things that you wouldn't necessarily want to do to reinvent the wheel are being taken care of for you," Williams said.
The actual user experience provided by a developer tool — usually known as the "console" in an industry packed with science fiction fans — is also starting to become more important. Developers have grown tired of inscrutable user interfaces designed by subject-matter experts with little to no concept of how ordinary developers experience the product.
"It's just this problem where you can't look at your own product and understand if it's good or not, because you know everything about it," Jennings said.
Big companies like Microsoft have run in-house user experience testing labs for their own developers for a long time, according to Silver, and smaller companies are starting to work with services like Haxor to accomplish the same goal.
"I think it's insane that people haven't seen people use their own product," Jennings said. "We're in prehistoric land here compared to normal [consumer] product cycles; we have all the solutions to this stuff, it's just that no one is applying the same concepts."
The two-pizza problem
One classic tech industry problem is often at the root of poor or substandard developer experiences: Conway's Law.
Credited to computer scientist Melvin Conway in the 1960s, Conway's Law holds that "any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure." That appears to be part of the problem for AWS, with hundreds of services built around the famous "two-pizza" team structure favored by Amazon founder Jeff Bezos.
This is a long-standing complaint about the cloud infrastructure pioneer. Even Don Alvarez, who was blown away by the capabilities provided by AWS's inaugural S3 service back in late 2005, described a lack of consistency around subsequent services that "was hard to puzzle through and manage."
"The problem with AWS is that the thing that makes them rock also makes them suck, because they have so many different services. And each service has its own team building the console, [so] there's an extreme lack of consistency from service to service." said Quinn, a self-described "AWS gadfly" who helps companies manage their spending on the cloud infrastructure leader.
AWS (which declined to make an executive available on the record for this story) seems to have recognized this problem and is working on improvements, according to Quinn and others. But developer experience is a potential opening for other cloud vendors, especially now that the most basic cloud services — computer and storage — are commodities.
"There's a whole new generation coming where the paradigms are going to shift," Quinn said. "There's going to be a lot of new paths into tech, and having onboarding paths that align with those folks and however it is that they're coming to this space is imperative."