Every year, Stack Overflow, a question and answer site for developers, runs a survey. It is probably the largest scale data analysis of software engineers.
This year showed some trends that were surprising.
Almost 20% of professional developers use Kubernetes. DevOps tooling continues to dominate the most used tools list, claiming 5 of the top 6 tools. The only one that isn't, yarn, is a package manager. (You could stretch and call it a DevOps tool.)
The top 6 developer tools used by developers (multiple choices allowed)
What's more interesting is the gap between Docker users and Kubernetes users, 36% of Docker users don't use Kubernetes (if you use Kubernetes, you use Docker*, but the reverse isn't always true).
Closing this gap, which is inevitable, has interesting implications down the line. First, developer tooling has to get better (that's why I created minikube and skaffold). Second, runtime platforms will standardize and make building the next layer of infrastructure possible. This has always been the goal.
Docker is the fastest-growing tool among developers. In 2020, 35% of respondents said they used Docker. In 2021, 48.85% said they used Docker. If you look at estimates for the total number of developers, they range from 10 to 25 million. That's 1.4 to 3 million new users this year.
We can back out an estimate for the total number of developers. Last July, Docker announced that they had 2 million DAUs on Docker for Desktop. So let's assume 3 million total today (counting alternatives like minikube and sector growth).
Developers might not need Docker every month, so let's conservatively extrapolate quarterly active users from MAU at 60%. That puts us at 5m quarterly active developers using Docker.
Stack Overflow surveyed 75,000 developers (50,000 professional), of which 48% (55% professional) of them use Docker.
That puts us at 10m developers (9m professional).
What does that mean? Not that much. Errors could make this napkin math wrong: the survey could be unrepresentative of the underlying developer population (Docker users are more likely to respond).
Or, respondents could claim they use Docker when they actually don't.
Or, QAU/MAU ratio could be significantly higher, because it is a tool with a steep learning curve.
Only around 15% of developers consider themselves data scientists, data engineers, or data analysts. Why is it interesting? In 2021, we saw the proliferation of separate data software stacks — one for data scientists and another for machine learning engineers. One that looks quite different than the usual software engineering stack.
Role description data from 2021 Developer Survey (respondents could check multiple boxes)
Role description data from 2020 Developer Survey. More developers said they were in data-centric roles.
The disappearance of the full-stack developer. In 2020, 58% of developers considered themselves full-stack engineers. However, in 2021, only 49% of developers considered themselves full-stack.
Do you think the full-stack developer exists anymore?
— Matt Rickard (@mattrickard) June 5, 2021
But, I consider myself a full-stack developer, and I know many that would say this to those statistics:
"The reports of my death are greatly exaggerated" — (Not Mark Twain, apparently)
Have more ideas or comments on these trends? Reply to me on twitter.
*Yes, astute readers will note that Kubernetes deprecated Docker and uses containerd by default, and other runtimes can be used. They will also note that you may use OCI images instead of "Docker" images. Same, same, but different (from someone who has worked on all of these).