Recently, I was asked if Cloud Development Environments (CDEs) are also suitable for junior developers, or if they are only usable for senior developers with a lot of experience who can handle complex tools.
The short answer is: CDEs are extremely valuable for juniors!
Junior developers tend to spend significant amounts of time with their tooling, as they struggle with complex toolstacks that they have no experience with. Using CDEs, they don’t have to bother with tooling at all! And senior developers also benefit from CDEs.
But let me explain…
On the one hand, this question shows that CDEs are still a fairly unknown tool category. On the other hand, this shows which expectations exist regarding developer tools: that they might be useful, but require a lot of knowledge and experience to be used.
Unfortunately, this is true of many developer tools. For example, there is a whole ecosystem of development tools emerging to enable local development of Kubernetes-based software. While these tools are undoubtedly useful, making it possible to locally develop Kubernetes-based software, they are (for now) in and of themselves highly complex tools.
I’m positive that this will change in the future, as tends to be the case as tools mature. But for now, the sad reality is that with each new tool that is added to a developer’s toolstack, their lives tend to get harder instead of easier. They might win new capabilities, but at a steep price of ever-increasing complexity in their toolstacks that eats away at developer’s time and headspace.
CDEs solve this.
CDEs: Good for juniors and even better for seniors
CDEs provide ready-to-go development environments that contain the entire ecosystem of tools that are required for development, already configured and ready to be used.
Therefore, my answer was emphatic: CDEs are extremely valuable for juniors! They tend to spend significant amounts of time with their tooling, as they struggle with complex toolstacks that they have no experience with. Using CDEs, they don’t have to bother with tooling at all!
However it is not just juniors who benefit. They might not even be the user group that benefits the most. I would argue that senior developers benefit at least as much, if not more, from using CDEs as junior developers do.
This is not because senior developers spend much time configuring their own tools (though the time they spend is still significant), but because they spend a lot of time supporting their colleagues with their tooling.
This was an aha-moment I had while interviewing a senior developer. When interviewing developers (which I do a lot recently), I always ask how much time they estimate that they spend on their tooling. Most senior and staff-level developers give fairly reasonable estimates of around 10% of their time.
This senior developer said even less, she said she spends maybe 5% of her time on tooling. However when I rephrased her answer saying: “So you get to spend 95% of your time working on the code?” She laughed! No, she said, she definitely spends a lot less than that writing code.
What does she do with her time, then, I asked?
Meetings was one answer, the other one was: “Helping others with their tooling.”
She estimated that she spends about 20% of her time doing just that, as do all other senior developers in their team.
Ever since then, I ask developers how much time they spend actually working on the code, and what they do with the rest of their time. By framing the question differently, developers seem to estimate more accurately how much time they actually spend on tooling and troubleshooting, as well as helping others (and in meetings, another common complaint).
This is what I hear: Juniors and seniors spend about a quarter of their time with tooling – either their own, or supporting others.
Senior developers and the underestimated loss of time
There is of course a large range, with some organisations having invested heavily in developer experience. When there are dedicated teams that take care of providing configuration files, pre-configured development clusters, documentation and support, developers spend significantly less time troubleshooting. Though even in those cases, I have heard senior developers losing time when they actually encounter an issue, because they then have to reproduce and document it for the devex team, and then they have to wait for a solution. While that is annoying, it happens rarely.
This is an aspect that many organisations underestimate: how much time is lost for the most experienced senior developers they have, because they are the ones that everyone goes to ask when they have issues.
Imagine what it would do if your senior developers suddenly became 20% more productive! That’s an entire additional day each week that they could spend doing what they do best: writing code.
Check out this post if you want to learn more about the available tools: Remote Development Environments: 7 Tools at a Glance (2024)
Junior developers benefit a lot from using CDEs because they are freed from the burden of having to learn about complex tools in the first place. Senior developers might get the same amount of time back when their organisations adopt CDEs – but the time of a senior developer is even more valuable to the organisation than the junior developer’s time.
Subscribe to the Cloudomation newsletter
Become a Cloudomation Insider. Always receive new news on “Remote Development Environments” and “DevOps” at the end of the month.