Jiu-Jitsu & Software Development
The unexpected parallels between code and combat. Exploring how Brazilian Jiu-Jitsu and software development share surprising similarities in problem-solving, pattern recognition, and continuous growth.
The Unexpected Parallels Between Code and Combat
I'm an enthusiast — not an expert.
Before we dive into the connection between jiu-jitsu (Brazilian Jiu-Jitsu, or BJJ) and software development, two things need to be clear. First, I'm very new to BJJ. I've competed in different combat sports throughout my life, but this feels like stepping into an entirely new world. Second, I'm a self-taught software developer. I've built apps, websites, bots, data pipelines — and I'm still learning something new every day.
So no, I'm not pretending to be a black belt in anything. I'm simply someone who's noticed that these two worlds overlap a lot more than you'd think.
Different Starting Points for Everyone
Where does one even begin?
Picking my first jiu-jitsu gym felt just like picking my first software framework. Some people follow friends. Others search forums, read reviews, or binge YouTube breakdowns. Some people hop around until they find a place or a stack that clicks — like I did.
Experience matters too:
- If you're brand new, expect to start from zero and fail often.
- If you're experienced in something adjacent — wrestling, no-code tools, whatever — you'll still feel lost, but with a few advantages.
- And if you think you're an expert? Switching gyms or frameworks will quickly show you where the holes are.
Both journeys begin differently for everyone — but they start the same way: with a first step and a willingness to look stupid at first.
Escaping Positions
This is chess, not checkers.
In jiu-jitsu, brute force rarely solves anything — just like in code.
You can't keyboard-smash your way through a bug fix, and you can't flail your way out of a tight choke. Both scenarios naturally encourage you to panic, and both punish you for it.
In BJJ and development, you're constantly presented with problems that evolve as soon as you try to solve them. Every escape has the potential to create a new threat:
- In BJJ, the loop ends when someone taps.
- In development, it ends when the unit tests pass… or when you rage-quit for the night.
Speaking of 'quitting,' you need to remember: it's okay to tap.
In both worlds, tapping is a learning point — not a failure.
Pattern Recognition
Where have I seen this before?
Experience is the real superpower in both arts. The more rolls you survive or bugs you fix, the more patterns you start to recognize. Little by little, chaos becomes more predictable and you start finding your own unique solutions:
- You learn to stay calm.
- You learn what usually comes next.
- You learn to respond intentionally instead of react.
Growing
Mastery should never be the goal.
Speaking of getting better, there's more to this than rolling or fixing bugs. Both worlds have huge communities ready to welcome you in. And if there's one thing software and jiu-jitsu share, it's that there's no finish line.
There's always:
- a new framework
- a new technique
- a new submission someone just invented
- a new update that breaks the old way you were doing things
This may be daunting, but it means the journey never dries up. You're never "done," and you always have room to grow.
And along the way, you meet people.
In software and BJJ, the communities are filled with smart, generous people who want you to succeed. If you stick with either long enough, you eventually get to do the same for someone else.
Wrapping Up
Thanks for reading.
This article will evolve as I do. As I get more time on the mats, and more time behind my keyboard, I know I'll find even more similarities between these two worlds.
For now, these are the connections I've made.
More to come.
Written by
Carter Holmes
Software Developer • 7 years of experience