Recently at the beach I was thinking. Sipping a little bit of champagne and thinking. And I got to the topic of developer productivity. Why is it flat

The 🪀Yo-Yo Effect of Developer Productivity

submited by
Style Pass
2024-07-08 17:00:08

Recently at the beach I was thinking. Sipping a little bit of champagne and thinking. And I got to the topic of developer productivity. Why is it flat? Why aren’t we developing 10x faster compared to some decades ago?

I kept thinking. In 1999, I founded a startup for blogs/wikis combined with tagging the knowledge in the head of people with two friends. We used a Java/XML/XSLT stack that seemed a good choice back at the time. Some years later, the company folded, not because of the development stack but because the dotcom bubble burst.

Today I look into many companies. And they are not developing features faster than we did 25 years ago. Which is astonishing, because we got many improvements to developer productivity over the years. We got Git, which is much better and more productive than CVS/Subversion - especially with merging. We have much faster computers. SSDs are blazingly fast and Apple Silicon has great memory bandwidth. Compile times are more than 10x faster compared to 25 years ago. Running tests is much faster. We have a better developer ecosystem. I had to look into a book to find answers to my XSLT coding questions. Today we have (had) Stack Overflow. We have better frameworks and tools, like Redis. We have better programming languages like Typescript and Go. And existing ones like Java, Python and JavaScript evolved tremendously. Less code for faster development. Then we have Docker, easy CI/CD on GitHub and hosting in the cloud on AWS.

At the same time that we gained productivity, we added things that drained productivity. We got into Scrum with its many meetings. We have more meetings with more stakeholders than before. We have too many tools, just look at JavaScript bundlers and web frameworks. We have complex cloud setups, many CTOs I meet had and have misconfigured AWS setups. We have mobile with new teams. And we have SPAs. It is no longer enough to add a new feature to one place in your code, you now have to change backend code, change the API, change the frontend SPA code, change the mobile iOS code and the Android code. And if your mobile has its own API to the backend, you might need to change that too.

Leave a Comment