Ah, the heyday of developers as king-makers, developers in control, developers turning to open source and the cloud to bypass barriers to productivity (like legal! Procurement! Security! Operations!).
Those days, of course, never existed. Not perfect anyway – and thank goodness. It turns out that in a world increasingly made up of software, developers matter. Very much. They’re not all that matters, but enabling developer productivity has become a key factor in the success of any organization. That’s why, perhaps ironically, perhaps the best way to free your developers is to hinder their freedom.
Back and forth
When RedMonk analyst Steven O’Grady first published The new Kingmakers in 2013, he partly captured the zeitgeist of the time when developers matter, but above all he promoted a new way of thinking. New for companies in any case. By this time, developers had already embraced the empowerment afforded them by open source and, increasingly, cloud. Still, the idea that developer productivity was not just a nice feature, but a must-have hadn’t caught on yet.
At the end of 2017, O’Grady was happy to report that his ideas had caught on widely, but with unintended consequences. The more developers mattered, the more everyone wanted to meet their needs with new software tools, new open source projects, new cloud services, etc. This meant a lot of new developer choice and associated freedom, but that wasn’t necessarily an undivided good. As he noted, “The good news is that this developer-driven fragmentation has produced an incredible array of open source software. The bad news is that, even for developers, managing this fragmentation is challenging.”
Can one have too much choice? Yes.
For example, it has long been known in consumer retail that when there is too much choice, “consumers are less likely to buy something, and when they buy, they are less satisfied with their selection.” It turns out it’s not just a matter of cereal or clothing. It also applies to developers building business software. InfoWorld’s Scott Carey writes that “complexity kills software developers.” He is right. But what can be done?
Less is more
Speaking to Weaveworks CEO Alexis Richardson, he shared how self-service development platforms are re-emerging to help developers understand all those open source and cloud choices. Giving developers “a standard, pre-approved environment in which the effort to make an app from an idea is minimal,” he explained, allows them to “focus on innovation, not plumbing.”
“Pre-approved environment”? That sounds like control. Were open source and cloud partly not meant to conquer control?
That’s one way of looking at it, but if you do it right, a little compulsion goes a long way. Just ask Netflix, which has embraced this idea and is pushing ahead with it—on nicely paved roads—as explained by Netflix engineers Ed Bukoski, Brian Moyles, and Mike McGarr:
“The Netflix culture of freedom and responsibility empowers engineers to create solutions using the tools they believe are best suited to the task. In our experience, to be widely accepted, a tool must be attractive, add tremendous value and reduce the overall cognitive load for most Netflix engineers. Teams have the freedom to implement alternative solutions, but also take extra responsibility for maintaining these solutions. Tools provided by centralized teams at Netflix are considered part of a ‘paved road’. Our focus today is solely on the paved road supported by Engineering Tools.”
It’s obvious why a company would want to have some control over the choices the developers make. Enterprises want “fast but secure,” Richardson suggests, and secure means making sure “compliance and security are in place, … containers are scanned, supply chain verified in the GitOps pipeline, and so on.” It’s also true that a restrictive choice is better for enterprises than “using raw AWS” [or another cloud]according to Richardson, because if a bank “unleashes 1,000 app teams on” [a particular cloud]then they will create 1,000 stacks, all of which need secops to verify.”
That would obviously be a mess. What may be less clear at first is how the interests of companies in exercising some control can perfectly reconcile with the interests of their developers.
Companies want their “app developers to become super productive so that the time from idea to dopamine is minimal,” Richardson says. Yes that’s right. It is in a company’s interest to ensure maximum developer productivity. Just as it is the developer’s desire to be maximum productive. Interests are aligned.
This brings us to self-service development platforms or PaaS (platform as a service), as we once called them.
A PaaS with a different name
Some enterprise IT leaders are “cringing at the idea of developer self-service,” admits Gartner analyst Lydia Leong, fearing that “self-service would open previously well-defended gates…and a horde of unwashed orcs scour the concrete landscape. would take over in a veritable explosion of Lego structures, dot matrix prints, Snickers wrappers and lost whiteboard marker caps.” In other words, they don’t trust their developers. Or maybe they don’t trust the crash barriers that can build self-service platforms. Whatever the concern, she continues, self-service “is not an all-or-nothing proposition. The responsibility can be divided among the application lifecycle so you can take advantage of ‘you build it, you run it’ without necessarily dropping your developers into an untamed and uncharted wilderness.”
In other words, companies looking to give their developers the freedom that the cloud offers can couple it with just enough constraints to make that freedom useful.
How to do this effectively? Netflix has given a lot of advice, but so have others, such as financial services firm Finextra† who knows a thing or two about balancing developer freedom with security guarantees given its conservative financial services companies. Or you can make time to chat with Leong or RedMonk’s O’Grady to make sure you get the right balance between freedom and control.
However you approach it, the point is to stop thinking of freedom and control as impossible opposites. Smart enterprises are coming up with ways to empower their developers to use self-service platforms. Maybe you should too.
Copyright © 2022 IDG Communications, Inc.