What will software eat next?
Make no mistake, we are on the precipice of a societal level shift, and software is at the center of that shift. The product development game is changing radically. In a few years, you might not recognize it from where we stand now.
As we stand at the cusp of a new era, it’s crucial to look back at where we began and anticipate where we are heading.
Software Eating the World: A Retrospective
Remember when Marc Andreeson said, “software is eating the world”? That was 2011. Well, it wasn’t just a catchy phrase; it became a reality. Over my career, I’ve witnessed software development explode. The majority of the bazillion lines of software code, written to date, is predominantly task-oriented. This type of software is like a diligent worker, tirelessly executing given instructions, no questions asked. You could string together multiple tasks to create complex functionalities, leading to some impressive products. It was a world of software where automation was king. Let’s be honest though, it was kind of a dumb king.
We've actually been on this journey of transformation for some time. The shift from command-line interfaces to graphical user interfaces was just the beginning. Now, we're entering an era where conversational interfaces, powered by LLMs, are becoming the norm. This change in how users interact with software is as significant as the change in the software itself. Software is moving towards the human.
Where we're going, we don't need tasks anymore
Then, something extraordinary happened — enter Large Language Models and Generative AI. Yes, I know that LLMs have been around for a long time (in software years). However, they didn’t become practically applicable to a wide range of human problems until recently. Trust me, we’re only scratching the surface of the changes it will bring. The fact that software can now complete sentences or write paragraphs is the least interesting thing about LLMs. It’s just the tip of the iceberg. Really, it’s just the snow on the surface of the iceberg, as they say.
One aspect of this shift that will have a substantial impact is data analysis and decision-making. In the past, data analysis was labor-intensive, requiring specialized skills. Now, with LLMs and AI-driven tools, the barrier to data analysis is lower. Businesses can leverage these technologies to gain insights more quickly, leading to more agile and informed decision-making processes.
The real marvel is that computers can now understand and interact on the level of human language and in truth human concept. This breakthrough is driving us away from task-oriented software to something much more ambitious: goal-oriented software.
In the traditional task-oriented (or imperative) approach, we meticulously instructed software on each step. Now, what we have unlocked in the goal-oriented (or declarative) world is that we simply tell the software what we want to accomplish, and it figures out how to achieve it. Dharmesh Shah brilliantly explained this concept in his video. He calls it a shift from imperative to declarative software, and it’s a game-changer.
He explains it best with this graphic:
This is what LLM Agents are all about. The name makes them sound like some autonomous, shifty, autonomous being operating in stealth behind the scenes. In truth, it's just goal oriented software with the tools they need to accomplish various tasks in their realm of "expertise". The most sophisticated agents can actually create their own software to execute themselves. Tell them what you want to accomplish, and they create the software and pathways they need to accomplish your goal.
Everything you thought you knew before, yeah forget about that
For those in product land, this paradigm shift opens up two huge avenues for innovation:
1) Rethinking Existing Software:
Every piece of complex software created so far is ripe to be reimagined. I’m not talking, rethink a few features here or there; I’m talking about fundamental rethinking from the ground up. Do we really need a CRM that has 52 different buttons you can click to execute 52 different tasks and still only accomplish 50% of what I need it to do? What if I could simply describe to my CRM what information I need to use right now?
2) Breaking New Ground:
Tasks once considered too nuanced for computers, exclusively human domains, are now within the realm of software solutions. True blue sky creativity still remains the domain of humans, but think of the countless tasks you’ve dismissed as too complicated for software in the past. Finding me the perfect restaurant for my 25th anniversary, without me doing anything but asking? Why not?
Oh, and remember all those important skills you learned over the years to make you an expert in deployment strategies? Yeah, you probably won't need those soon. Unlike most of the software we've built up until now, software that remains static until updated. Future software models will learn and adapt to the goals at hand. This opens up possibilities for highly personalized and dynamic software solutions, fundamentally changing how we think about product development and life cycle management.
What Will You Rethink?
That's a question I leave you. The one that I'm wrestling with every day right now.
What are you going to rethink?
How will you leverage this shift towards goal-oriented software to reshape your products, your company, and maybe even your industry?