{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiekjwcsdqkaujcpyuaspsvcyqwnx4d7njhyza3rgb5mddbnzed53m",
"uri": "at://did:plc:qz6ohvpdsdvv5kniizyfz25y/app.bsky.feed.post/3mmxpg43yrsd2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreigniqekiuy2hlcj7cwasdecg6c6ayiv2mzgzpk4hxapgc7pmcfk7i"
},
"mimeType": "image/jpeg",
"size": 8018542
},
"path": "/article/4177302/why-software-development-is-changing-for-good.html",
"publishedAt": "2026-05-28T12:00:00.000Z",
"site": "https://www.cio.com",
"tags": [
"Artificial Intelligence, Generative AI, IT Leadership, IT Operations, Quality Assurance, Software Development",
"back in the developer’s seat",
"cheap, fast and largely reversible",
"many long-held assumptions stop holding",
"there’s no going back",
"Want to join?"
],
"textContent": "In 2003, I founded DCSL Software, which later became One Beyond. I exited in 2023 after taking the company international and growing it to more than 300 people. Since then, I’ve founded a robotics start-up and raised over £4M in seed funding.\n\nI never expected to be writing production software again. I stopped coding day-to-day in 2014, not because I couldn’t do it, but because that’s what happens when a company scales. You hire people who are better than you at execution, you focus on leadership, and gradually the keyboard gets further away. For nearly a decade, that felt entirely natural.\n\nWhat I didn’t expect was that, almost ten years later, I’d find myself back in the developer’s seat, not nostalgically but practically. Not dabbling but building a genuinely complex robotics platform. And not by relearning every framework or language that had passed me by, but by working in a fundamentally different way.\n\nFor me, that personal shift is the clearest signal that something structural has changed in software development.\n\n## How we used to design software, and why\n\nWhen I started out, we were firmly in the waterfall era. That wasn’t ideology, it was economics. Software was slow and expensive to build, so the only sensible approach was to think very hard up front.\n\nWe wrote detailed specifications because we had to. Contracts depended on them. Delivery depended on them. Writing a good spec was a specialist skill, and one I happened to be reasonably good at. I could visualise what the finished product might look like before it existed, foresee areas of complexity, and describe behaviour with enough precision that a team could build against it.\n\nThat ability was rare, and difficult to teach. Many people struggled with it because imagining a complex system that doesn’t yet exist is genuinely hard. But it mattered, because getting things wrong late in the process was painful and expensive.\n\nOver time, the industry moved towards Agile. Publicly, this was framed as a better way to respond to change. Quietly, it was also an acknowledgement that for large, long-running systems, no specification survives intact. Businesses change, users change, technology changes, and pretending otherwise often caused more harm than good.\n\nAgile was pragmatic, but it came with a cost. We largely abandoned deep up-front design and replaced it with incremental discovery. That worked, but it also normalised a mindset where thinking too far ahead was seen as unnecessary or even risky.\n\n## What changed, and why I started building again\n\nThe reason I’ve been able to step back into hands-on development isn’t that I suddenly found the time or the desire to relearn a decade’s worth of tooling. It’s because AI has fundamentally changed the cost of experimentation.\n\nThis is the part that is often misunderstood. The real shift isn’t just that code is faster to write. It’s that trying things is now cheap, fast and largely reversible.\n\nThings that would once have taken developer-weeks can now be attempted in minutes. You can explore an approach, see how it feels, discard it entirely, and try a different direction with very little penalty. That simply wasn’t possible before.\n\nIn the past, there was a strong emotional and financial attachment to code. If something took two developers three weeks to build, you were understandably reluctant to throw it away. Decisions hardened early, not always because they were right, but because reversing them was too costly.\n\nThat constraint has gone, and this is what pulled me back in. I can now operate at the level I’m strongest at, understanding the problem, shaping the system, spotting when complexity is creeping in, while AI handles much of the mechanics. I’m not writing code in the way I did in my twenties. I’m directing it, refining it, correcting it, and occasionally stopping it from going in entirely the wrong direction. In practice, this feels much closer to leading a team than writing code. You are effectively the boss, setting direction, reviewing output, spotting lazy shortcuts, and pushing back when something doesn’t feel right.\n\n## Why design still matters, more than ever\n\nIt would be easy to assume that this new freedom makes design less important. In reality, it makes it more important.\n\nHaving a clear, detailed idea of what you’re trying to build is still hugely valuable. In fact, it actively improves AI output. The clearer the intent, the better the results. Vague thinking simply produces vague systems more quickly. What’s important to understand is that AI behaves very much like a person. It wants to be helpful. It wants to give you an answer. If you’re vague, it will fill in the gaps. If you’re careless, it will make assumptions. If you don’t challenge it, it will confidently carry on down the wrong path.\n\nThe difference is that design is no longer a brittle, one-off artefact that must survive unchanged for years. It has become a guide for experimentation rather than a constraint on it. You can hold a strong vision of where you’re heading while still being willing to try, discard and evolve the path that gets you there.\n\nThe new skill is knowing when exploration is productive and when it’s just noise. AI will happily keep generating structure long after it should have been simplified. It doesn’t know when a file has grown too large, when an abstraction is leaking or when something that “works” today will cause pain later. Those instincts still come from experience.\n\n## How this reshapes the industry\n\nOnce experimentation becomes low-cost, many long-held assumptions stop holding. Planning is no longer about locking everything down in advance. It’s about setting intent, constraints and boundaries.\n\nEstimation becomes less about predicting effort and more about understanding the space you’re exploring.\n\nAnd our relationship with code changes entirely. There is far less attachment to specific implementations and far more focus on behaviour, structure and outcomes.\n\nThis is why the software development industry feels unsettled. Many people are trying to apply old mental models to new tools. That works for a while, but it misses the point.\n\n## The real shift\n\nThe reason I’m confident this change is permanent is simple: I wouldn’t be building again otherwise.\n\nThe only reason I can credibly return to hands-on development after a decade away is that the barriers that pushed me out in the first place no longer apply. Software can now evolve through guided experimentation in a way that simply wasn’t possible before.\n\nThis doesn’t mean experience matters less. It means it matters differently. The value is no longer in remembering syntax or frameworks. It’s in judgment, structure, and knowing when to stop.\n\nThis is _not_ the end of software development. But it is the end of the old model. And once you’ve worked this way, there’s no going back.\n\n**This article is published as part of the Foundry Expert Contributor Network.**\n**Want to join?******",
"title": "Why software development is changing for good"
}