dasseclab.net

Network engineering with security in mind.

View on GitHub
21 December 2020

How Judo Helped Me Be A Better Engineer

by dasseclab

In an effort to fight a sedentary work-life, a few years ago, I decided to pick up Judo. A combat sport, it was guaranteed to get me up and moving and provide a bit of a social element. At least, moving more than playing darts down at the pub and drinking more water than beer. I’d been considering Judo for years but always found one reason or another not to start, so I finally figured it was time.

Founded in 1882 by Jigoro Kano, Judo was based in several traditions of Japanese unarmed fighting (jujutsu). Kano wanted to improve safety in the practice of jujutsu, which was plagued with injuries; however, as he progressed with the design of what Judo was, he made some cuts from some standard jujutsu cirriculum while adding moral and philisophical components. Judo, as a martial art, emphasises throws, pins or holds, strangulation and joint manipulation techniques against an opponent. In sport, scoring revolves around the same. He used is influence as an educator to get Judo into the national school cirriculums in Japan, teaching its morals and philisophies within physical education. As Judo spread outside of Japan, so too did Kano’s philosophical bent.

Kano’s Prinicples For Judo, For Life

Kano’s principles of Judo’s philosophies were intended for the student’s physical, mental and spritual well-being. But his principles, while taught through Judo, were intended to be used in all matters of life. As I learned about these principles as they pertain to Judo, and reading more about Kano’s intention beyond Judo, I started thinking about and applying these principles to my professional life. There are two key, driving principles behind Judo’s philosophy: Ju no Ri, Seiryoku Zen’yo and Jita Kyouei.

Ju No Ri: The Prinicple of Adaptability

The ‘Ju’ in Judo, often translated as “gentle”, can also mean “pliancy” or “adaptability”. The Principle of Ju (Adaptability) (Ju no Ri), as it applies to Judo is that we or our opponents must react and adapt to each others’ movements. However, in an engineering context, we can use Ju no Ri in our design capacities and bearing in mind when the business challenges us to change from our pre-determined plans. As network engineers, we are often designing for redundancy and failure. Dynamic routing protocols have failure in mind, which is why, for example, BGP route tables update when links, hops or entire networks become unavailable. But when we have to design the physical layout of a network device (switch, router, what-have-you) or a new site or even a segment of topology, we are designing for failure with redundnant paths, connections and power. Maybe, the ultimate in adaptability, though, is the discussion that we have with management (or, rather, recommittments management forces on us) to re-do our priorities and move projects around. This happens often as business needs’ change or management’s minds and whims change and as engineers, we need to remmeber to be adaptable. Ju no Ri is about countering when you’re about to be thrown and moving to a position to throw them - we engineers need to be the same when the business is about to throw us with changing requirements and priorities: counter and throw.

Seiryoku Zen’yo: Maximum Efficiency With Minimum Effort

Seiryoku Zen’yo is a prinicple that I think all systems and network administrators and engineers are familiar with, even if they’ve never heard this Japanese maxim before: “Maximum Efficiency with Minimum Effort”. Directly in Judo, we apply Seiryoku Zen’yo in how we grip or move our opponent, to a position where we can more easily break their balance and throw them. But what about professional life? Well, in various tech fields, we are often looking to automate, or, if we’re not doing automation technically, we’re looking to make our operational lives easier. What we can do with mass configuration update tools, like Ansible, allows us operate with more standard controls than a custom script to update devices or worse - manually ssh‘ing to each device to apply an update. Engineering, ultimately, is all about efficiency. It has been said, too, that the best administrators have a certain laziness about them. That laziness is focused on reducing the toil of routine, mundane tasks via scripts. By scripting away the toil, we give ourselves time back in the long run to tackle harder problems. In the world of network engineering, the effort of a script might be large in the beginning but if we can leverage pre-existing tools like Ansible that can apply a specific configuration we’ve written within an array of general contexts to a list of devices quickly, we are like Judo players who can go from one throw to the next and then to the next.

Jita Kyouei: Mutual Benefit and Welfare

Jita Kyouei is the principle that as it applies to engineers, applies less to the technology we work with but applies more to the team(s) we work with. Sure, there is a component to mutual benefit and welfare that we don’t ship garbage code or we don’t leave bad config uncommitted but rather, Jita Kyouei is also the mutual benefit and welfare that we don’t throw peers under busses (lest we be thrown under them as well) and we make opportunities to mentor each other. In Judo, Jita Kyouei is chiefly expressed in how we treat our training partners and opponents (don’t injure them) but it also applies to the pedagogy in Judo - student’s ask instructors of Judo based on their expeirence and knowledge and instructors know that students also come from many different backgrounds and have varying knowledge of Judo. By exercising Jita Kyouei as engineers, we build stronger teams, stronger designs and operations and stronger organizations. In many deeply silo’ed organizations, knowledge is power and power should not be shared. While some feel this gives them a form of job security, I am sure there are many folks who’ve been there holding the bag after that brain drain has occured. By having mutual benefit and welfare with our colleagues and sharing knowledge and training each other, we make the team more resilient and less dependent on individuals and in turn, can build better solutions going forward.

Judo has many benefits for an engineer. There are the physical benefits of exercise, first and foremost. There are the benefits of focus, determination and discipline. And, like me, there are benefits to anger management - some days, you just have to throw, choke or armbar somebody! But the principles of Ju no Ri, Seiryoku Zen’yo and Jita Kyouei have applications that are just as relevant to engineers in their professional and technical lives as they do to Judo players on the mat, just as Kano had hoped.

tags: