The Future of Software Products is Unknowable (And That's Okay)
Why Embracing the Unknown is Essential for Building the Next Generation of Applications
A common thread has been weaving its way through my thoughts lately, prompted by a series of articles, tweets, and observations that all point to a single, perhaps somewhat uneasy truth: the future of software products is going to get very, very different.
The first nudge came from Forked Lightning's insightful series on predicting the future of work with AI by examining the past. The key takeaway? Transformative technologies – think electricity or steam power – take decades to fully reshape industries and labor markets. The reasons are multifaceted: capital costs, retraining needs, and the gradual (yet ultimately seismic) shift in workflows.
Then, a tweet from Matt Clifford caught my eye: "Making AI work today requires ripping up workflows and rebuilding for AI. This is hard and painful to do…" It resonated deeply, echoing the sentiment that we shouldn’t just be thinking about how to integrate AI into existing systems; we need to also be thinking about and planning for entirely new paradigms (or at least expecting that these will come).
This idea was further amplified by a now-deleted tweet from an OpenAI employee (and a thoughtful response from Ethan Mollick) suggesting that building polished AI products today might be less critical than focusing on the long game. The implication? The applications of the future will bear little resemblance to what we're building today.
So, where does that leave those of us who are knee-deep in the messy, exciting world of building right now? Does it leave us paralyzed by the uncertainty of a future we can't fully predict?
I don't think so.
To Effectively Think Big, Start by Building Small (and Smart)
The worst thing we can do is retreat into a brainstorming bunker, waiting for the dust to settle and the future to reveal itself. Instead, we need to embrace a mindset of informed action – of thinking big while building small, of constantly iterating and adapting as the landscape evolves.
This starts with developing a deep understanding of the forces shaping the future of software (in whatever particular domain or vertical you are focused on). While we can't control these external factors, we can stay attuned to them.
Ask yourself:
What technological advancements are on the horizon?
How are user behaviors and expectations shifting?
What are the broader economic and societal trends at play?
What are external forces that will help change the way this landscape looks?
Once you have a handle on the potential influences, focus on building something small, yet impactful, that delivers value today. This hands-on approach is invaluable for learning and refining your understanding of both the technology and the evolving market.
Build to Learn, Adapt, and Ship!
Adopt a "build to learn" mentality. Your goal should be to create something that resonates with users now, but also provides valuable insights that inform future iterations. Embrace agility. Be prepared to pivot, to expand, to completely overhaul your approach as the AI landscape unfolds.
Building for an unknowable future might feel daunting, but it's also incredibly liberating. It's a challenge to think differently, to break free from the constraints of existing workflows and imagine entirely new possibilities. And who knows? The products we build today, however imperfect, might just lay the foundation for the groundbreaking applications of tomorrow.
Ah, the age old gold “build to learn” comes to rescue. Great piece!