A few months ago I started writing a piece of software called "CTO Game" and the idea was this - you take the place of the CTO in a software development organisation and you have to juggle the build, development, test and release of a new software product to the market without going bust. I'm thinking now it should just be called "Startup Game" rather than CTO Game because it's about way more than just software development - it's about building and releasing a product which people want to buy.
Whether we work in a startup or work in a big company, we have customers and need to make sure that our software delivery doesn't cost us more than they pay for it.
Software is often a commodity now, we often don't build, we buy and the builders are the ones taking a risk in a market. They can be assuming big risks to be first mover - and as you might have seen from the SVB collapse - it's a goldrush feeling which has sucked in and wasted a lot of investors money with many commentators are saying that this is just the beginning of the end of the startup goldrush.
So, while software is truly eating the world - the software that is being created has a shorter and shorter shelf life. And with the arrival of GPT-4, the cycle of software creation will only get quicker.
I'm reminded of Simon Wardley's brilliant blog post on Conversational Programming, that claims that sometime this year, programmers or business analysts or anybody - will be able to describe the software they want and it will pop out the other end. Some knowledge might be needed to deploy and run the code but essentially developers will be circumvented.
It's easy to get swept along in the AI hype cycle isn't it? Meanwhile there is software to be written, tested, deployed - feedback to be gathered. Things won't and don't change overnight, but they're changing and despite the financial risks, I don't see the pace slowing at this point.
Feel free to checkout my latest thoughtpiece on the Lovin' Legacy podcast all about Emergent Architectures and Beating the Monolith. I'm putting together a course called provisionally "Beating the Monolith: Understanding Modern Software Delivery" and you can sign up to stay informed.
Wishing you a wonderful weekend!
Published on March 16, 2023
In my recent podcast episode “Emergent Architecture and Beating the Monolith” I explore the idea that we don’t actually need to beat any monolith or microservices architecture, just get along with the notion that we don’t start or end anywhere in particular and all architecture is essentially emergent. Following on from that I came across… Read More »Build Now vs Build Later: Upfront Design vs Implementation Costs
Published on March 14, 2023
What does it mean to support, extend or even replace a monolith and should we even try? I explore the landscape as it is now – when we feel under pressure to “do microservices” yet we have something that works but is perhaps too much of a monolith for us to work with effectively. This… Read More »Emergent Architecture and Beating the Monolith
Published on March 12, 2023
Put simply, Infrastructure as Code (IaC) allows you to define your IT systems and infrastructure in software. This is a powerful technique which has revolutionised the way that resources are commissioned and their lifecycle managed and maintained. Infrastructure as Code can be achieved in many ways. Either by using a public cloud such as AWS,… Read More »What is Infrastructure as Code?