Lessons in software architecture from Bruce Lee

I’m an avid software architect and for even longer have been an avid martial artist (though admittedly I practice the former much more than the latter these days).  As I’ve watched what almost amounts to a holy war between the REST and SOAP crowds (and all the other factions in general software development) I thought back to some of my martial arts training and to my personal hero: Bruce Lee.  He may be seen now as a cult icon, but in his life he was an extraordinary martial artist.  To those not in the know true martial arts is a mix of mind, body, and spirit; of philosophy and physicality.  So why Bruce Lee?  What does he have to do with software development?  I think he has a lot more relevance there than most would guess and I would also venture that martial arts have a lot of parallels to the programming arts. 

I was encouraged to finally start this series after reflecting upon how easy it is for all of us to get caught up in the patterns and practices that we know and forget to look at the current situation at hand.  As I learned in my martial arts training: the black belt is not the end, but merely the beginning.  This series will be a collection of Bruce Lee quotes that I believe apply directly to software architecture and development.  The first quote I have chosen is the following:

“I have not invented a “new style,” composite, modified or otherwise that is set within distinct form as apart from “this” method or “that” method. On the contrary, I hope to free my followers from clinging to styles, patterns, or molds.”

I’m not sure this quote really needs explanation, but it gets to the heart of what much of Bruce Lee’s philosophy was: prepare for everything and be flexible for anything.  Do not let what you know or the latest fad get in the way of doing what is appropriate for the task at hand.  This holds true if the task is a combat situation or mobile service development. 


About danrosanova
I am a Principal Program Manager for Messaging at Microsoft and product owner for Azure Messaging: Service Bus, Relay, and Event Hubs. I have a long history in distributed computing on a variety of platforms and have focused on large scale messaging and middleware implementations from inception to implementation. I was a five time Microsoft MVP before joining Microsoft and author of the book Microsoft BizTalk Server 2010 Patterns.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: