Ravi Mohan's Blog

Friday, September 09, 2005

How shall I judge a suit - Part 2

In a comment to another post on this blog, Sundaresh asked,

"Ravi......i give you a problem statement and a laptop and ask you to write a piece of code and looking at that, i gauge your worth. Thats an excellent/good/bad programmer. What is a good manager ?"

And that is a good question. I have not been able to articulate a satisfactory answer for this and that is scary .

There's no way to judge a middle manager and they are all over the place ! Anyway this was my reply (slightly modified to include a few post-reply thoughts ).

" Sundaresh, That is a very good question.

There is a lot more to judging programming skill than handing a laptop + a problem statement to someone .

But I digress .

The gist of your question of your question seems to be "is there an objective, externally verifiable way for judging a manager's ability ? "

Except in the case of frontline managers like CEO's and marketing/sales managers or operational managers of a factory floor, who can be judged by numbers attached to their performance (market share, eps, operational efficiency ) , the answer is no, there is no externally verifiable measure . In other words there is no "laptop" you can give someone and ask them to display their skills.

This is precisely why a lot of people can get away with what , in Thoughtworks India jargon was called "PM giri"(a word approximating "PM ing " for non hindi speaking readers of this blog) as in "PM giri is no big deal".

Having said that ,there are a few heuristics(by definition a heuristic is not infallible) that I look for when I judge managers.

1.Is he/she extremely good at any activity beyond "managing" ? Of the truly excellent managers I have met, all of them without fail were skilled in something besides "managing people " (as in the movie "Office Space" :-) )

One is a decorated Combat Helicopter (Apache LongBow) Pilot. Another is a world class writer and athlete. One is changing the model of how charitable organisations work .Another is an excellent musician . Somehow the habit of excellence and the consequent ability to recognize it in other fields seems to make a difference.

Some examples from the outside world. Larry Ellison is probably an excellent manger .He is a world class sailor.

Krishna Bharat (India head, Google) is probably an excellent manager . He wrote Google News.That gives you a lot of confidence in his understanding of programmers and programming.

Now this doesn't always apply. Linus Torvalds is good at coding but by his own account he tried "managing" a project and was a big failure.But then he "manages" the kernel development effort very well. hmmm...

This is why this is just a rule of thumb.

This pattern is surprisingly persistent though .Even managers who are not yet at the height of their powers but are climbing the ladder show this trait . One of the managers i most respect was in IIT grad(says something about his intellect ) ,and ex techie who was put in charge of the India Office of his company. He used to say with genuine regret " I am losing my technical skills" . Yet another was fanatic about physical fitness and superbly organized. His projects would run like clockwork and he would sit quietly in a corner filling up crosswords !

2.They are highly spoken of by the people they manage .

Invariably the best managers are those whose subordinates worship the ground they walk on . This is not about popularity but about respect .

If a programmer rolls his eyes and looks heavenward when speaking about his manager, that is a strong warning sign . The age of the "command" paradigm in management is over. Nowadays , to effectively manage, People have to willingly give you their best . Again using my Thoughtworks experience there were managers who were so effective that the team thought of them as "one of their own" and others about whom people would make snide comments when they were not around .I am sure this is true worldwide and not just in Thoughtworks.

3. In the software industry , most (but not all) of the best managers are ex hackers or people who like technology .The top grade managers who are not techincal genuinely respect the wisdom of the technical people

4. Good managers *always* protect their team from the politicking that goes on .If a manager being added to the team *decreases* the politics , that is a good sign.

5. Not a single good manager in the software industry I know likes ISO/CMM style processes.They may quietly live with the process and work around it when necessary but if someone likes and enjoys these heavyweight processes I would be very wary of hiring him .

I could think of a few more characteristics but you get the idea . There is no sure fire way of determining the worth of a non frontline manager but in any industry or company there are thngs to look for .

I am interested in your heuristics for judging managers .What do you think ? what are the characteristics of the best managers you know?"

Sundaresh replied

"That was an excellent analysis. In my experience, i have worked with 11 project managers, out of which all but one were perfect charlatans or incompetent. Few things i have noticed in the one person whom i would rate as "very good" were,

  1. As you said his subordinates "worshipped the ground" he walked
  2. If anything was slipping out of our hands we could always call him and he wud run to us in a jiffy
  3. The place he hated the most was his cabin. He could be seen walking around, sitting with developers and in some cases even testing the application
  4. He made the strict hierarchy look very fluid.
  5. I worked with him for 3 months ( he came in to replace a PM when the project was in crisis and left after 3 months when the project was delivered successfully.)
  6. We were never in the firing line. He was the shield
  7. He even used to participate in the technical meetings and showed a keen interest there in.
  8. One thing that is common to the worse managers i have seen is that they remain cloistered in their cabins and always try to impose the feeling that he is the boss.

Sundaresh identifies a "pattern" (sorry Dave, :-D ) I missed. I'll call i "Cabin fever" .One of the most impressive things about Thoughtworks was that when Roy( the CEO) visisted Bangalore , he would avoid all the "cabins" and just find the first empty chair and plug in his laptop and go to work .A very refreshing change from the Indian habit of alloting cabins, "corner cubes" etc to "senior " people.I didn't even know he was the CEO the first time he came in . He started questioning me about how things were going and what I as new recruit thought of the company ,and i wondered "Who is this crazy old man ? " .Later , when he climbed on chair to address the staff meeting I asked someone who he was and was told he was the CEO.

For all the "Indianization" of the Bangalore branch, if you haven't worked in Thoughtworks, you should ! If anyone reads this blog and applies to TWI , please tell the HR folks i'll be around to collect my recruitment bonus !

I once joined a company (which shall remain nameless) where the first day I reported to work , the receptionist and a few other people stood up , snapped to attention and said "Good Morning , Sir" in unison (like kids in kindergarten greeting their teacher! ). I was shell shocked and asked them what was happening and they said they were under instructios to treat me as a "senior" person . Later I was taken aside by the owner/ceo who informed me that we have to make the whole office aware of seniority for "increased discipline". I quit the same day (though i didn't have a job in hand ). Thankfully I had a friend in Aztec who forwarded my cv to their HR and i got a job there the very next day .-- wiping sweat from my forehead-- Thinking of this event still gives me goose bumps.

To finish, I will ask the question i asked Sundaresh

I am interested in your heuristics for judging managers .What do you think ? what are the characteristics of the best managers you know?

15 comments:

chandrakant said...

Sadly I have not come across even one person that I would instantly cite as an excelent manager. People that I have seen in managerial posts are either too technical, and as such have accepted the post just for more money, or they have very low technical skills and since these people have no clue what the developers are doing, they try to become their best friends and coax work out of them. I have not seen a balanced, technically-proficient, communicative manager. To answer your question, allow me to think a bit loud here. I have worked in companies in India and what I have seen mirrors your bad experiences. So at that time I did think that I could never be a manager. I was also mediocre on the technical side. This was just because I was not really in love with programming at that time. But as time went by, I made the effort to get good at it, and as a result of getting better, I learnt more and started to love it. And since I loved it, I researched more, and I become better. It was a cycle. So in a couple of years I became a better programmer, and I was fully convinced that I will remain a developer for the rest of my life. I found managing to be a very vague and people-oriented activity, rather than being a skill. I believed that everyone shoudl be mature enough to be self-managing. But now I do have some different perspectives, largely helped by my awareness of Extreme Programming. The idea of an "XP coach" excites me. That is beecause while self-managing developers are good, somebody definitely needs to constantly monitor the big picture. The thing about an XP coach is that at the heart of it is the premise is that one has to be technical first. So rather than just asking developers estimates, drawing up lists of features and ticking off tasks, the XP coach can write code, discuss technical issues, while putting forward the big picture. So if I get a chance to be a manager I would exhibit the following. This is also my criteria to evaluate one.
1. Someone who makes every team member comfortable in his presence. This is actually very difficult to achieve and has to be done only by letting ones guard down, admitting there are areas which the manager doesnt himself understand, and is very eager to go a developer for help.
2. If the developer is having a technical problem the manager says "hmm cmon lets see how this will work" and actually sits down, pairs with him to do a tracer bullet - a small proof of concept.
3. The manager should show by his actions that he is concerned by the well-being of the team. This means hes genuinely interested in the developers career growth and to some extent personal issues.
4. Last but most important, he sits with the team and all the team members sit together. I am a very strong proponent of this and really cringe when I see people isolated in cubes.

Those are a few of my ideas. You must have also noticed that from these ideas, I also believe (and this is just my belief - would love to be corrected!) that it is virtually impossible to be a good manager without technical skills. I did notice that you said that a non-technical manager leaves a lot of decisions to the technical team. I am not sure I would be able to be totally confident about what I am doing if I was not technical. And I havent seen any instances of this yet. So I guess I still have a lot to learn but I do feel more comfortable about the thought of being a manager in future.

Ravi said...

Chandrakant,

There are couple of very intriguing ideas in your post .

One is that of management as a "skill" that anyone (including developers) can learn and get better at .

This is an idea I have been groping towards, but I have never found any supporting evidence for this. I would love to believe this is true but as of today I don't have any underlying theory or supporting evidence.

The second startling idea is that of an "XP COach " being a way station between a top grade devloper and manager. YOu seem to conflate the two (XPC and manager) but when I look back at the people who were exc ellent XPCoaches/Change agents and those wwho were good managers in TW , I can see that they are two distinct sets of people.

The truly excellent XP Coaches seemed to emerge from the ranks of technically skilled people and get very close to what an "Architect" should be (as Per Martin Fowler's definition of Architect in his article "Who needs an architect" .

Since I have seen excellent managers who were either (a) not really technical or (b) wouldn't probably have made good XP Coaches , I am forced to distinguish the roles of XP Coach and Manager .

The Managers seemed to have excellent skills for (a) the "tracking" part of XP (b) An understanding of politcs and how to navigate its treacherous currents (and the ability to shield the developers) and other "social skills" like (conflict resolution).
I am talking of actual demonstrable skills . Most so called managers *say* they have these "soft skills" but are perfectly useless and are in that posoition because they are useless as developers and know how to suck up .

But the genuinely good managers do seem to form a distinct set with some (but not complete) overlap with the XP Coaches .

Thank you for your thought provoking comment . It is comments like theese that make my decsion to enable comments on my blog worthwhile .

btw, nice blog ! I enjoyed reading it

I have a few mentor figures I tap to ask such questions

Ravi said...

oops that was cut off. so anwayway i asked Mack C Adams (one of the really good managers i've seen ) to answer some of these questions and he did . We were talking onmessenger. I will assemble his responese into a separet blog entry

Anonymous said...

Ravi,
who are XP coaches??
-Sundar

Ravi said...

Sundaresh,

An XP Coach is a developer who is very experienced with XP who works with team who is not as experienced. The idea being that the inevitable missteps that happen when people try to implement XP "straight from the book" will be smoothed out by having someone who has "walked the path" before.

An XP Coach thus combines *experience* in working on various XP/Agile projects, strong development skills , deep knowledge in bot the theory and practice of AGile methodolgies and excellent leadership, mentoring and communication skills.

There are a lot of companies these days that have latched on to this concept and try to sell "enablement services" but when you cut through the marketing hype, an XP Coach is essentially what is described above.

Ravi said...

iow a "Coach" is a role on an XP Team played by a dev with teh characteristics described above. A "coach" is not a necesity on ateam, but helps if the team is new/inexperienced with Agile/Xp etc.

A thoughtworker who I have seen being very effective in a "coach" role is
Owen Rogers .Another is Chris Stevenson

zee said...

Came here through your comment on my blog. Interesting blog you have here.
I have seen managers with amazing and interesting hobbies, managers who protect their team but I haven't yet seen one who really impressed me.

Ravi said...

Venus,
welcome.

I found yor blog to be quite well written . I am always on the lookout for good writers i can copy and learn from!

Well I guess i have been lucky in my career. I have met and worked with many brilliant people,programmers and managers.

And just to be clear, youa re right .Just having or being good at a hobby or being protective of your team does not make youa good manager. But if you are agood manager you are likely to do both.

My rants are against mediocrity and its worship enshrined in the offshored IT Industry, not against "management", though in certain contexts they are synonymous .I think brilliant mangers are worth their weight in Gold.

:-)

chandrakant said...

Ravi,
Thanks for your efforts to research more on this one. I have been reading your writings for a couple of months now and I do keep coming back to check it because I like the ideas you put forth. (That reminds me - I have to include it in my bloglines notifier!)
Your point that you have seen managers that are outstanding without being XP coaches intrigues me and makes me want to work with such people. I am definitely sure you have worked with much more talented people than I have worked with :)
At this time, most of my source of knowledge is people like you and your mentors online that have the ability and desire to question and improve upon things that people take for granted. So thanks tapping into your contacts and extracting knowledge out of them.
Thanks for the compliment about my blog. I try to write more often but somehow I get into the "flow" as much as I would like to. Hopefully it will only get better.

zee said...

Thanks Ravi. I went through a couple of your blogs yet to go through all. Like them! I am (loser Java) programmer, worshipper of Cmmi ;)
entered the corporate world recently and always wanted to find out about Indian software industry, offshoring, outsourcing, management and pschye of brillaiant programmers. I'm finding good info here.
One thing I always wondered was that why a lot of techie people(that I've seen, no offenses to anyone) get lured towards management after few years in IT. programmers turned managers after few years without formal mgmt education, how they forsee analysts as future managers (I feel if they can so can the developers)

Ravi said...

"One thing I always wondered was that why a lot of techie people(that I've seen, no offenses to anyone) get lured towards management after few years in IT."

well i would think it is very simple .
The corproate game is structured in such a way that it simply makes no ecnomic sense to remain technical.

Especially in an "outsourced" context where a programmer , no matter how brilliant ,is hired essentially because he is cheaper than someone in the West.

Just compare the salaries mediocre PMs make vs what an excellent developer makes. There may be a few exceptions but the PM 's salary trumps the developers almost always.

And people aren't stupid. If that is the way the game is structured that is the way they'll play it .

Why bother updating yourself every quarter with the latest technolgies when you could essentially "manage people" and get more money and get to go home at 5 o clock ? :-)

The people who really like programming are trapped though :-) .They don't want to "sell out" and become yet another PHB manager, but then they have to watch absolute mediocrities make tonnes more money and have more influence in the company than they could ever hope to :-)

And India in particular is a very bureucracy friendly place. I have seen and heard things even Scott Adams wouldn't dare to put in his cartoons !

btw i like the "cmmi worshipper" phrase :-)

zee said...

How true ... up on the ladder, little work more money!
you should have asked me if I was forced to worship or its by choice ;)

Anonymous said...

I have to commend you on your writing style, Ravi. you outdo yourself each time.

Management, I believe is a touchy subject to a lot of people. I work in a company which I love, for its ethic, and a visionary top management. But middle management is a whole different business. I have not, to this date, found one manager who inspires me to be like them maybe 20 years from now. Well, part of it is, because I am working under a client manager(and tend to compare), who I worship like god. Some simple concepts I think a manager should have...

1. Respect - Give respect and earn it.
2. Respect your subordinates life. (Surprise! He has one!)
3. Cover his a$#. He is working for you.
4. Do NOT micro manage. Believe in him to deliver.
5. Lead by example to the best extent.
6. Inspire your subordinate. Maybe motivate is a better word.
7. Make people comfortable around you.

I have heard of this eternal struggle of techie Vs management. I hate it because it is even being compared. Developer should develop. A manager should manage. Promoting a developer to a manager without knowing his abilities is plain foolish.

Then again the eternal question. How do you recognize a good manager...

Intinct?

Ravi said...

Anup i have often seen this "top management is awesome, middle management is a bunch of losers and developers are awesome " pattern .

I call it the "rotting meat sandwich" organizational pattern :-)



As for recognising good managers , i find that a "yes " answer to "is he very good /world class at anthing else? " and "do his subordinates feel great working for him? " and "are his projects sucessfull in real world terms " indicates excellence very strongly.


And thank you for your compliment about the writing :-)

does that mean you will buy a copy of my book as and when it comes out ? :-)

Vijay said...

Ravi,
It's a neat article.. I think the moral of the story is Its not the title which makes the man but its man who makes the title