So I’m in the gym the other day chatting with a friend about a book that I read many years ago that stands as I think my favorite book of all time, Good to Great by Jim Collins. I first read the book in 2004 and recently picked it up again for some “life refreshers”. It’s primarily a business book and was cited by “several members of The Wall Street Journal‘s CEO Council as the best management book they’ve read.” according to the article I linked above. Although one of my concentration areas for my undergraduate work was Economics, I don’t consider myself a business expert by any stretch but I still see this is one of the best books I’ve ever read. Why? Well, for one thing it’s data driven and if you’ve been poking around my site you know I dig that. Additionally, the lessons learned here are not only applicable to the business world or to people in leadership positions, they are truly interdisciplinary and I dig that too.
There are so many awesome things to talk about with this book that I’m afraid its going to take multiple posts to cover them all, so I’ll focus this one on the specifics of the gym conversation I was mentioning earlier. We were talking about some basic qualities of leadership and a few things came up, one of which really touched home for me – humility. In chapter 2, Collins talks about Level 5 Leadership and one of the many characteristics that bubbled up from their data driven approach was humility. Amongst other things, one of the key traits of a leader who was able to transform their company from good to great was humility.
Very early in my career I was fortunate enough to have some great engineering managers. A good software engineering manager is hard to find, a great one even harder. Software engineering managers have to posses a unique blend of people skills, technical skills, program management skills and quite honestly good parenting skills 🙂 I remember one of my first great managers made a comment to me once that I didn’t quite get at first, he said “The #1 trait of any software engineer is humility.” Thus, the Good to Great connection. He wasn’t saying that technical skill wasn’t required but he was saying that he would take a humble less experienced engineer over a seasoned engineer with a strong ego any day of the week.
It wasn’t until much later in my career before I truly understood what he meant. I was totally guilty of steamrolling early on in my career. By that I mean knowing when I’m right and thinking that the best way to move forward to is cut through the non-sense of emotions and egos and simply state the facts, black and white, in such a logical manner as to avoid all discussion. This, in my mind, was efficiency at its finest; really the only way to move forward when there was a question at hand. Although it may be the quickest path to a decision at times, it often does more harm than good. I learned about the value of humility from a mentor of mine who taught through leading by example. An MIT educated Computer Science PhD, he was one of the smartest guys I have ever know and also the most humble. As an example of his humility, I will use code reviews.
Before an engineer is able to make a source code contribution to the project, it must be reviewed by other engineers to help spot errors or possibly discover new or better ways to solve the problem at hand. As you might imagine, this can get very personal. An engineer’s code is like a small work of art, they are putting themselves out there intellectually, proposing a solution to a problem in their own unique way. There can literally be dozens of ways to solve a particular problem, some better than others and some worse. Two implementations may be completely equivalent but look totally different and two other solutions that look very similar can behave in a totally different manner. It is a tricky business and most engineers aren’t generally fond of reviews because for many its like “open season” on their work. Most good engineers don’t try to bully though, but they do take the more direct “business” approach to providing comments to the developer thinking that sticking to the facts will avoid the perception of a personal attack.
So how did this mentor role model humility for me in a way that changed my behavior forever? It was so simple, whenever someone gave him a negative comment on his code his response, regardless of whether they were obviously wrong or not, was always to the effect of “You know what, I didn’t think of that.” or “That’s a really interesting viewpoint, I need to think some more on that…”. Never did he dismiss someone’s feedback or steamroll them (even though he easily could). When providing comments to others, he followed a praise & critique model, meaning that he always found something positive in what they had done regardless of whether the entire solution needed to be re-written or not. Sometimes it was in the form of “I see how you could have gone down this path as that’s something I would have done as well without the experience of working on XYZ project…” or “I really like this but did you consider <insert alternative here> as you might find it will <insert benefits here>…”
Don’t get me wrong, there is still a time and place for making command decisions but that’s usually only when things are falling apart at the Nth hour or a decision is about to be made ignoring the wisdom of experience (which drives me nuts!)
Recent Comments