Thursday, November 20, 2008

The Yin / Yang of Geeks

-- Posted by Carole-Ann

A long long long time ago, I studied Math/Physics *and* Biology. The school I went to was specialized in Life Sciences. Although I think it is pretty much irrelevant now, I really believe this is influencing how I think and how I tackle problems.

I have always been quite fascinated by the brain and how we make decisions -- hence my passion for Decision Management I guess. When I started working in Paris in a small consulting firm, I realized that I had a unique way of handling complexity. Not completely unique as many people with my background tend to approach problems in a similar fashion. But unique enough in the environment I was in, surrounded by Math/Physics-only engineers.

Our French system teaches us to be extremely analytic by nature. We love to categorize, structure and rationalize. When complexity increases though different strains of engineers react differently.

My observation is that Math/Physics geeks want to control all aspects of the problem. It is important to them to have a theorem or an equation to explain every single detail. When complexity grows, they will come up with increasing complex models to describe it.

Math/Physics/Biology geeks are still looking for a good model but their approach is to rely on observations, facts, patterns. What I learned in my biology classes back then is that we do not know much. We think the origin of the world is such and such but much of it remains unknown. We think the human body works one way but in many instances we are not exactly sure. Even when we know, biology classes keep insisting that we used to know something different and realized at some point in time that we were wrong. We had some good laugh at really early "understanding" of the human body (I recommend taking a look at the nervous system for example). Who knows how much fun our kids will have when they read how we thought it worked in 2008?

My point here is that with biology in the picture, we, engineers, become more humble on our understanding of the mechanics of the world. When handling complexity, we always assume there is significant chance we don't know enough. As a result, we think more in terms of behavior / interfaces, etc. It does not really matter how it works internally as we typically don't know. In our software systems we likely end up knowing of course but we can comfortably proceed without the need to control / understand how this could possibly be designed. This has proven to be a good background for Object-Oriented technologies.

I am not advocating that this is the right way of looking at things. I am actually convinced that the two approaches are very complementary. In my professional life, I have always been "attracted" (professionally speaking of course) to the "other" kind of geeks. With one of us thinking about the interactions, feedback loop and other behavioral aspects and the other one focusing on figuring out how we could build such components, we have always made strong heterogeneous teams. The best of both worlds.

Fascinating.




Bookmark and Share

No comments:

Post a Comment