Software is eating the world. IoT is eating the software world. AI is eating…. We have heard them all. However, lately, I am beginning to wonder is Brazilian Jiu-Jitsu (BJJ) eating the Software Developer Community. 6 am classes before work, after work Open Mats and weekend Gi and NoGi competitions are now commonplace across the software developer community, certainly in true software development hubs like Silicon Valley and Ireland. Indeed companies like Linkedin, Google, Hubspot, Davra, Snapchat are now offering corporate BJJ sessions as part of their free health and wellness packages for all developers from companies like ExecBJJ.com.
It is also not just hipster millennium coders that are regularly practicing BJJ. Last week in Palo Alto I met with Matt Wong CTO (and Coder) from Smart Cities pioneer Civicconnect.com. Matt is one of the most influential coders in the valley having led development teams in the early days with Xerox, Apple, and HP working directly under the late great Larry Tesler. Earlier this year Matt received his Brazilian Jiu-Jitsu BLACK BELT at the young age of 62 after 16 years of training and competing. This is a serious life achievement on the same scale as completing ‘The Marathon’ was in the 1980s – so congrats again Matt.
Matts black belt lineage is impressive too – Mitsuyo Maeda -> Helio Gracie -> Carlos Gracie Junior -> Roberto ‘Gordo’ Correa -> Sandro Batata -> Matt Wong
Brian & Matt Wong Matt & Sandro Batata The Medal Haul
What is Brazilian Jiu-Jitsu?
Brazilian Jiu-Jitsu, or BJJ, is not an ancient form of martial arts. It was developed in the early 1900s when the Japanese martial arts teacher Mitsuo Maeda visited Brazil. Maeda was an expert in the ground-based aspect of Jiu-Jitsu that developed into Judo. While in Brazil, he began teaching a young man named Carlos Gracie. It was Gracie and his siblings who developed BJJ into the martial art it is today.
Unlike Karate and other strike-based forms of martial arts, BJJ does not emphasize punching or kicking. Instead, the goal of a BJJ fighter is to get his or her opponent down to the ground. Once on the floor, the fighter defeats the opponent by applying an array of joint locks and chokeholds. By focusing on grappling rather striking, BJJ allows a smaller person to use leverage to gain control over a larger opponent.
What is the connection for software developers?
When people look for a physical fitness activity, they often find a sport that builds on the gifts they use in other parts of their lives. Extroverts tend to seek group classes and team sports. Introverts are more likely to excel at individual sports.
In the same way, Brazilian Jiu-Jitsu offers software developers a sport that emphasizes some of the traits that led them to their current careers. Let’s take a look at some of the shared traits that have lead to the unlikely linkage.
Successful software engineers are not just people with great programming skills or knowledge of several languages. They are people who know how to solve problems in creative ways. Before they begin typing at a keyboard, they are often thinking about the problem at hand and breaking it down into smaller parts. From there, they will decide the best starting point, or the best play and the steps necessary to reach a successful conclusion.
BJJ is also an intense form of real-time problem-solving. A fighter must assess the opponent and get a sense of that person’s technique and ability. The next step is taking the opponent down and performing a successful submission hold. However, the puzzle is constantly changing, and the solution may require several adjustments along the way.
Emphasis on Technique
As software engineers progress in their field, they begin to refine their skills. It is no longer just about getting to the desired solution, but they are concerned with getting to that solution in the most efficient way possible. They learn how to produce cleaner code that functions more quickly.
BJJ practitioners also focus on refining their technique. For a joint lock to work properly, everything must be positioned just right. Since much of the fighting style is based on leverage, changing the angle of a hold can render it useless. Like much in the world of computer science, there is always more to learn and room for improvement in BJJ.
BJJ has a chess-like aspect where fighters need to think several steps ahead. You may know how your opponent will counter your initial move, so you have to think about the next few moves that will lead to victory. Software engineering follows a similar path where you must consider how a change in one part of a program will affect things down the line.
Learning By Doing
Software engineers will tell you that the only way to learn how to program is to program. You cannot learn the rhythm and nuances of programming through tutorials. It is only by going through the process of problem-solving, program building and troubleshooting that you can understand what you are doing.
BJJ also emphasizes learning by doing. Although there are some individual skill-building exercises, the heart of BJJ is sparring. Unlike other forms of martial arts where a great time is spent learning forms, BJJ teaches you by actively engaging an opponent. You can only experience the advantage of leverage when you are working with a human subject.
Community Of Individuals
An important aspect of BJJ is that it is an individual sport that is learned in community. Software engineers have their own way of looking at things. Although they may program in several computer languages, they share a common language formed around computer science. As individuals go deeper into the programming world, they learn the strengths of other programmers that set them off as individuals.
BJJ is also a sport that centers on the individual but cultivates community. Although you may enjoy the social aspects of the class, there is only one person who can beat your opponent when you are in the midst of a sparring match. One of the advantages of the BJJ community is that, due to its focus on ground-based sparring, people of all strengths and skill levels can take part.
Brazilian Jiu-Jitsu allows software developers to enjoy physical fitness in a sport that appreciates their analytic, problem-solving skills. Here at Davra, over 30%, and rising, of our engineers practice Brazilian Jiu-Jitsu regularly, transferring their skills from the office to a place of recreation.