A new coding paradigm is emerging
I started writing code on the desktop, like many in my generation. That was ‘one person, one app, one machine, usually one thread’ - total control. The resources were limited and so our ambition had to be, but it was fairly easy to understand a great deal of what you were doing in a program, as an individual.
Then the internet showed up. The definition of application itself changed - now it wasn’t something delivered on a disk, it could be a web site search engine, document editor, ‘everything store’, global connector, messaging system and on and on. In this world, every constraint of the last one was up-ended: many users at the same time (sometimes interacting even!), many machines. many ways of connecting to the app, everything distributed and multi-threaded.
That shift was painful and took a bunch of years to understand. It came with new problems, like data center and machine outages, authentication, network latency and reliability issues, database scale, and more. All of the platforms we developed on, from the browser, to the network stack and backbones, to the databases, to the app servers and debuggers were being invented and revised in real-time as the entire industry tried to figure out how to go from waterfall processes that shipped physical media to…something else? Which wound up being Agile, and then things like CI/CD.
Along the way, all kinds of things we take for granted were invented: functional languages like JavaScript, containerized SDDC techniques, noSQL databases, all kinds of remote debugging and monitoring, and more. Mobile connected devices showed up in the middle of this, just to make things more confusing and fun! There were lots of debates about best practices, lots of competition between tools, techniques and frameworks.
领英推荐
We are here again, with LLM (and more broadly, probably AI) based coding. Everything is up for grabs - what’s an application now? We are building things that are mixtures of code, document, conversation and model that seem like applications. How do we debug and monitor things like “is the agent nice and helpful?” What things do we care about for reliability and regression? How do we mix declarative code with LLM inference in repeatable ways? How do those codebases get organized and maintained over time (I can’t wait for the first “semantic mudball” trainwreck - it’s coming). I’m not even sure we understand all of the questions yet - we are still to a large degree building with reflexes and models from the old paradigm (which happened in the internet transition too).
I don’t have much advice other than: don’t get too attached to how you are doing things today and try to learn and listen (and try) as much as you can. Inevitably, some teams will figure out parts of this, and also there will be false starts. You can’t expect certainty and you can’t expect this to be quick or easy. We are in for a messy few years as we, collectively as an industry, begin to understand how to best build new forms of software from all of this. Personally, I find it super exciting and fun!
Senior Project Manager at Bosch for Connected Car Solutions
3 天前Sam, i really liked your practical approach/stance on the new coding paradigm. Unlike many AI proponent who assures everything will be taken care by GenAI. Over a period we will and need figure out how this new way of programming to be done. This will also define how programming as a profession will be valued in the labour market and wider societal impact to it. I am also curious on how this will evolve
Physician | Futurist | Investor | Custom Software Development | Tech Resource Provider | Digital Health Consultant | YouTuber | AI Integration Consultant | In the pursuit of constant improvement
4 个月Fascinating insights, Sam! This new coding paradigm could truly revolutionize how we approach software development.
It's happening. new paradigm is emerging and will change and shift the way sw being developed with entire ALM. LLM/SLMs, Copilots and agentic flows are insane start points. Exciting time
Data and AI Product Lead | Microsoft
4 个月This is an even crazier rollercoaster than last time. Last time we needed to develop tools and practices to deal with the changing technology landscape. The technology of course affected the process itself with online repos and collaboration with ticketing system. But eventually, developers would be immersed in their IDEs, with some still using vim. This time, the revolution also affects the the core of how we develop, with LLMs an indispensable coding assistant for many. Not only that we don't know where the road leads and need to learn the best way to drive the car for changing road conditions, but the car itself morphs... one day we're in a sedan, another we're on a motorcycle.
That Product Guy
4 个月Fun times ahead! I look forward to what this new paradigm will birth - personal AI agents