Accelerating Human Potential
One of the most intoxicating aspects of software development is the flow state. It’s this magical moment when the work feels effortless. You are building features, components, UI, etc., in a relaxed yet focused state for hours. You feel invincible and capable of building virtually anything. A god among mere mortals.
Most of my time spent as an engineer wasn’t quite this magical. Getting stuck on a thorny architecture issue, some obscure bug that leads you to scroll Stack Overflow for hours, or that demoralizing IM to your co-worker to come help. I’d say I got into a flow state when I was a full-time engineer about 4% of the time.
I’ve been using Windsurf, the AI-assisted IDE, for the last few months. I’ve experienced this flow state dozens of times. It’s fucking magical.
Many people are asking me how AI is changing software development these days. The best analogy I’ve come up with so far is that it’s like riding an e-bike. I don’t own an e-bike, but many friends do, and they have all come to me with a sparkle in their eyes, talking about how amazing an e-bike is. I think, “It’s just riding a bike, how can that be life-changing?” But they all talk about the fact that with an e-bike, every hill melts away, extending your range, increasing your enjoyment, and making you want to ride it more and more. Many people I know stopped driving their cars for ANY errands around town. Opting for the e-bike so they could enjoy the wind on their face and explore their city.
On a traditional bike, a steep hill can hijack your entire experience. Your thoughts narrow to the burning in your legs, the strain in your lungs, the seemingly endless climb ahead. The beautiful scenery becomes background noise to your physical struggle. But on an e-bike, that same hill becomes just another part of the adventure. With the strain reduced, you can notice the play of sunlight through the trees, plan your next turn, or simply enjoy the fresh air.
This is the same feeling I get when using an AI-assisted code editor. Without AI assistance, technical challenges can consume all your mental bandwidth. You’re so focused on the syntax details, the boilerplate, and the repetitive patterns, that the larger architectural vision becomes obscured. Just as a cyclist might miss the scenery while battling a hill, a developer can lose sight of the elegant solution while wrestling with implementation details.
The Power of Amplification
This is the key to understanding both revolutions: amplification, not automation. An e-bike doesn’t ride itself; it multiplies the power of each pedal stroke. Similarly, AI assistance doesn’t program independently; it amplifies each decision you make as a developer. You’re still the one steering, thinking, and providing the essential creative force — the technology simply helps you go further with the same effort.
This amplification has amazing side effects. Once you begin to realize that you have this superpower to easily tackle any hill you encounter, you start to expand your mind to take on bigger challenges. I’ll share a recent example to illustrate this point.
I’m currently involved in a startup. A small team of co-founders is building an application focused on testing marketing assets using synthetic personas. I and one of the other technical co-founders are the ones building the application in collaboration with our data science and research counterparts. It is nothing short of amazing what we have been able to accomplish as a tiny team. I built the early prototype in 2 weeks in a language/framework that I had never used. Whenever I came upon a challenge, the AI was sitting there waiting to help me get over the hill. For example, I’m not the strongest data modeler. The AI was happy to help me devise a data model for this application that was straightforward and scalable. When we got done with the POC, the team decided to re-factor the entire application into Golang. That is something we never would have done before, especially with such a small team.
I need to remind you that my most recent title was Global CTO. I haven’t been a day-to-day coder for over 10 years. My co-founder is a senior VP of Technology. We know how technology works but are a little rusty in day-to-day development and have found this re-entry to software development exhilarating and empowering. All of this was made possible through AI-assisted development.
The technology doesn’t just make the journey easier — it expands our notion of what journeys are possible. Of course, any transformative technology faces initial skepticism. Many cyclists initially resisted e-bikes, viewing them as “cheating” or diminishing the purity of the sport. Similarly, some developers initially viewed AI assistance with skepticism, concerned it might dilute the craft of programming. But just as e-bikes have proven to enhance rather than replace the cycling experience, AI assistance is showing itself to be an amplifier of developer creativity rather than a replacement for human insight.
I hear developers scoff at the quality of responses they are getting out of coding assistants. Yes, it is sometimes hit or miss, and I have certainly gone down many rabbit holes when the AI starts to paint itself in a corner. At the end of the day, it is another tool and one that I am getting better at using every single day.
Perhaps most importantly, both technologies are making their respective domains more accessible without compromising their essence. e-Bikes have transformed what’s possible in urban mobility, enabling longer commutes, easier cargo transport, and making cycling accessible to more people. In the same way, AI-assisted development is expanding what’s possible in software creation. Tasks that once seemed daunting — like writing comprehensive test suites or refactoring complex codebases — become more approachable with AI amplification.
As we continue to wrestle with the changing world of software development, one thing is certain to me. What is now possible has been changed drastically. I believe that we are on the cusp of a tidal wave of custom software that wasn’t possible before, changing business and user experience in profound new ways. At my company, FM, we call it “software within reach.”
The future of technology isn’t about replacement but about amplification — helping us achieve more while preserving the fundamental joy and creativity of human effort.
The next time you see an e-bike glide effortlessly up a hill, think about how that same principle of amplification is transforming software development. In both cases, we’re not removing the human element — we’re empowering it, one pedal stroke, one line of code at a time.