What will the future of software engineering look like?
Maybe we're all “builders”. Maybe AI writes all of our code.
It's hard to know for sure... but what I find interesting is to look at history.
This idea of “build software in the cloud” has been appealing for some time. There's a number of problems we deal with to run software locally:
The security model for accessing files/folders (e.g. sandboxing)
The fragility of local environments (e.g. Docker, Nix, etc.)
The power of the hardware (e.g. consumer hardware vs beefy VMs)
The availability of the environment (e.g. laptops going to sleep)
And yet... most software still happens on localhost!
Why is it that even with all of these challenges, cloud computers haven't won? I've joked that this idea of a “cloud computer in a box” has been launched 100 times.
It started back in the day with “dev containers” and “cloud IDEs” to remove the drudge of the four points above. Super fast hardware, always available, immediately accessible for your team.
In reality, you only ended up seeing this at companies like Meta. Of course they wouldn't store secrets on their machine in .env files! They would have nice cloud environments they could connect to for everything. But this required a significant investment in local/internal DevEx.
Many startups tried to bring this idea to developers more broadly, but I would argue it never really got product market fit. Including GitHub, where you can press “.” to open a cloud VM (“Codespaces”) with your repo.
So... right idea, wrong timing. Fast forward a bit in history, and we started to get the first powerful AI models. All of a sudden there was this new demand for cloud computing.
