- JDTalks
- Posts
- Vibe Coding with AI: Bruce Lee's Philosophy in Modern Software Development
Vibe Coding with AI: Bruce Lee's Philosophy in Modern Software Development
Vibe Coding with AI: Bruce Lee's Philosophy in Modern Software Development
In a fascinating coding session between John Davison (CTO of Startuplandia.io) and Lucas Draichi, we witnessed a masterclass in what John calls "vibe coding" - a collaborative approach to building software with AI assistance. This session revealed powerful insights about modern software development that extend far beyond traditional coding practices.
The Bruce Lee Philosophy of Problem Solving
One of the most striking moments came early in the session when John referenced Bruce Lee's Jeet Kune Do philosophy:
"Remember, like part of the mantra of Bruce Lee's Jeet Kune Do is that in mortal combat, which is combat to the death for all you non-video game players, that you don't adapt the situation to whatever tools you've learned. You adapt the tools you've learned to the situation."
This philosophy perfectly encapsulates the mindset needed for effective AI-assisted development. John highlighted Bruce Lee's famous approach:
"Bruce Lee doesn't ask people to step back so he can throw crispy punches. The point isn't to have a crispy punch. The point is to land a hit."
In software development terms, this means avoiding the trap of forcing your preferred tools, languages, or approaches onto a problem. Instead, the goal is solving the problem effectively with whatever tools best fit the situation. It's about adapting your knowledge to serve the goal rather than contorting the goal to fit your preferred way of working.
Path of Least Resistance: The LLM Advantage
Throughout the session, John and Lucas were working on enhancing an "auto ticket" system - a tool that monitors Slack conversations and automatically creates GitHub tickets when it detects work requests. They needed to make the system's UI clearer and improve its ability to recognize when messages should trigger ticket creation.
Instead of installing Ruby locally on Lucas's machine (which would have been time-consuming), they quickly pivoted to using Docker to create an environment that could run the application without complicated local setup. As John noted:
"I think that if you're like, 'Hey, take a step out so that I can throw a crispy punch,' then it would be like, 'Okay, hunt the situation back to John's computer because I have everything configured correctly.' But I think, in the spirit of why we're recording these sessions, it really makes sense for Lucas to be driving."
This willingness to adapt to the immediate situation rather than forcing an "ideal" development environment is a perfect example of Bruce Lee's philosophy in action.
Cursor's Incredible Auto-Complete
One of the most impressive moments came when they were modifying code to enhance the ticket detection capability. They wanted the system to log the reasons why a message might not need a ticket. As John was explaining what to add, Cursor (their AI-powered coding tool) automatically completed exactly what they intended to write before they even finished explaining it.
"Did fucking cursor just fucking do that?" John exclaimed in amazement.
This moment highlighted how advanced AI coding assistants have become. Cursor didn't just predict a simple variable name or function call - it understood the entire context of what they were trying to accomplish and generated the appropriate code solution automatically.
Vibe Coding vs. Traditional Development
Throughout the session, there's a fascinating contrast between what John calls "vibe coding" (rapid, AI-assisted development focused on learning and exploration) and more traditional, quality-focused development:
"Vibe coding honestly has a lot more to do with learning than it does with producing... We're just learning. We're learning what the LLM thinks."
The session demonstrates how vibe coding emphasizes:
Speed over perfection
Learning over production
Immediate feedback over detailed planning
Collaboration over individual expertise
This approach acknowledges that with AI tools, the first solution might not be architecturally perfect, but it's about getting something working quickly to learn from it:
"LLM-driven development, I think taking the path of least resistance is incredibly important... The LLM is only solving for the behavioral use case, it's not considering anything else."
AI Pair Programming: The 10X Workflow
Perhaps the most significant insight came near the end of the session when John reflected on the power of this collaborative approach:
"This workflow where you and I are collaboratively talking to the LLM I think is an incredibly powerful workflow. This is pair programming on some kind of 10X steroids."
This isn't just two developers working together - it's two developers plus an AI assistant that can instantly generate code, explain concepts, and help bridge knowledge gaps. John pointedly mentioned:
"I might literally never write another manual line of code again in my entire life... But in a world pre-LLM that would be a travesty, because I have 10 years of experience doing very edge kind of stuff. So we would lose that experience because I'm fatigued at writing code, whereas now we can sort of transfer my experience back into the equation quite easily."
This highlights a profound shift: AI tools aren't replacing developers but are instead creating a new paradigm where human expertise guides AI capabilities, combining the best of both worlds.
Docker: Complex from Scratch, Manageable with AI
The session also demonstrated how container technology like Docker, which can be intimidating when building from scratch, becomes much more approachable with AI assistance. With a simple prompt, Cursor generated a complete Dockerfile and docker-compose configuration that allowed them to run the Ruby application without any local Ruby setup.
This automated infrastructure as code approach meant they could focus on problem-solving rather than environment configuration - another example of adapting tools to the situation rather than the other way around.
The Feedback Loop: AI Watching AI
Another fascinating aspect was the complete feedback loop they created:
"Think of that feedback loop we have going now, like, basically we have a bot paying attention to our conversations and then we have cursor paying attention to our tickets."
Their auto ticket system monitored Slack conversations to create GitHub tickets, and then they used Cursor to read those tickets and implement the requested changes. This created a seamless workflow where human oversight guided the process, but much of the mechanical work happened through AI assistance.
Conclusion: A New Era of Collaborative Development
This session demonstrates that we're entering a new era of software development where AI tools don't just assist with coding but fundamentally transform how we approach problem-solving. The Bruce Lee philosophy becomes essential - don't ask the problem to conform to your preferred tools; adapt your approach to solve the problem most effectively.
As John summarized their unique approach at Startuplandia.io:
"We are a very special kind of product development team, made up of people who, I think, are amazing at the game of building products who have exceptional communication skills, an incredible focus on user experience, and who have effectively committed to be all in on 0 to 1 engineering."
This vibe coding approach, combining human expertise with AI capabilities, represents a powerful new paradigm for building software - one that prioritizes adaptability, learning, and effective problem-solving over rigid methodologies and individual heroics. Like Bruce Lee, it's about landing the hit, not throwing the perfect punch.