
The Developer Experience Fallacy
The balancing act
Every day we have to deal with balancing opposing values. Recently I have been encountering some of these in what we call “Developer Experience(DX) initiatives”. If I would make an overly simplified statement on what I’d say the mission of DX is about, then it would read something like: :“Developer Experience enables developers to focus on building and shipping cools stuff effectively and efficiently by removing the distractions and friction involved.” That is of course hugely exaggerated but it sets the tone and I’d say this is also echoed in writings on the subject.
Developer core trait is “Value creation”
Given the importance of developers for their value creation capabilities and the cost spent on dealing with their distractions, it makes sense to look into ways of optimizing their focus time. Many larger orgs, that can fund these programs, have started a Developer Experience improvement program. Such a program is to explicitly formalize support for developers in these complex organizations and give them a unified voice! This allows this body to advocate for creating a somewhat idealistic world where developers can perform their magic with little or no constraints. One could also say: “to become less developer hostile”.
Deeper truth
I’ve been reading up a bit on some of the stories and challenges these initiatives face. My honest opinion is that I do think developers perspectives are under represented in decision making with regards to enabling their work. Their working environment is largely shaped by org structure, process structure and underlying technology investments (infrastructure and application frameworks). This means that developers only can have a say after the landscape has been created for them, which is sub-optimal to put it mildly. But I also think that a lot of the discussions raised in DX materials are not so worthy of pursuing in the context of an large org or enterprise. Let me explain.
The wrong focus
A lot of the DX attention goes to solving “day 1” issues. Basically, how do we make someone productive faster, easier onboarding, training etc..Whereas in larger organizations the true value is in the “day-2” aspects. Being there for the long run, driving quality improvements every single day has a larger pay off. This is also where startups are entirely different from big companies. The ability to sustain efforts within a framework of corporate governance and security, brings a completely different dynamic that I think is not too often highlighted, although obvious. (we may strive to solve some of this by rethinking what it means how we build systems, but that’s something for another blog)
To get back to the perspective of DX, we seem to bathe in guidance materials about all things agile, fast paced change and new value creation, the latest and greatest shiny things and even joy. I think this originates from the fashion-like ideas in our industry. Driven by media attention and the hype-cycles we’ve seen so often that celebrate novelty. The situation on the ground in large orgs is rather different. What actually matters is how effectively can you securely scale a business, that sustains its efforts for the long-term. That means less emphasis on novelty and more on longevity.
Opposing values
The opposing values we can distill from this that I see are:
- Short term Survival vs Longevity
Short term survival is about moving fast with product development, creating a foothold and finding opportunity to establish a product or brand through finding product market fit. This is essential for startups which are heading down a runway that needs to be build while the airplane is already moving.
But the thing is, an enterprise very rarely deals with short term survival. Therefore I say longevity must take priority in large orgs. The conversations we have must drive long-term success. This is also where “the Developer Experience fallacy” as I call it comes in, because much of the stories and worldview it brings to light are not aimed at long-term success, but short term satisfaction for developers. It thereby has become a bit of an empty vessel or instrument that panders to the crowd but will have no meaningful purpose and impact to the larger org. I don’t like that because I think there should be a huge upside to catering to developers need, especially when set in a broader context.
Longevity
To make a radical change there, hygiene must be adopted in the primary narrative of DX within large orgs. Longevity is created from hygiene. Hygiene, the work of keeping things clean, secure, compliant, optimized and ensuring smooth flow of information, creating meaningful outcomes at scale. Repeatedly and continuously, like brushing your teeth at least twice a day, every single day. Hygiene doesn’t sound as attractive as DX but it does create a great working environment in which work can be performed consistently and in a sustainable manner. This is not boring or mediocre at all, because you still need the ability to move fast but with different drivers or purpose. For example, to support security and compliance (with regulations for example) a lot of these fast paced disciplines are still required to be mastered (think CI/CD on demand). There’s even an additional challenge and that is to perform them at scale, disciplined and well-coordinated. Being able to do so provides a thriving place for people to work and not burn-out. That is the true hallmark of a professional engineering operation.
Wrapping up
My take is that this change of DX narrative does not take anything away from the importance of DX and working to optimize the environment for developers. Ultimately, It makes the environment one works in a lot nicer place to do that work. Think about how great it is to having that API you’re using well documented, easy to use and well tested. That the procedures and pipelines for deploying your code “just works” and you can focus purely on creating new value by building new features.
That is peace of mind for the entire org.
Not just for developers.
That is a win-win across the board.
That, I think, is a worthy goal to pursue!