Thursday, July 12, 2007

Managers are from Mars, Developers are from Venus

Really?

It turns out to be true. If you don’t trust me, please check it out in your team, in the team next to your cubicle, in your company or at a local theatre near you.

Be warned that this has been written from a perspective of a developer thus certain language might be unsuitable for managers especially newly conceived managers – This gibberish has been rated MMG. Thus, Manager of Managers Guidance might be required while reading it.

What really makes us different? Don’t our hearts beat in similar fashion, don’t we go through the similar rhythms of life, doesn’t the thought of a chilled Corona with lime on a sunny afternoon evoke a similar response from us, don’t we perceive reality the same way (ya kiddin’ me?), and don’t we communicate and express our thought process alike (you really pushin’ it now)?

PS – I guess the similarity stopped at our hearts beating in similar fashion.

But, most importantly, we have the same lowest common denominator!! Managers were also developers at one point in their lives but, unfortunately, they mutate once they are beamed out of the bit world. Nonetheless, can peaceful bilateral relationships exist between Mars and Venus, Managers and Developers? Is there hope?

Short Answer, Yes.

Long Answer, Y     e      s :)

If you are a manager and think your developers are on a totally different plane, please read on.So, what kind of attributes can bring you closer to your group of developers? Here is my simple list, please feel free to add/remove or critique it all together --

Technical Competence – Show me a manager without technical competence and I will show you a manager who is not very well respected among the developers. Well, you may get lot of brownie points for being a great human being or having a charismatic personality but you won’t ever be able to be one of the guys if you don’t have a technical bone in your body. I’m not saying one has to have a degree in computer science but decent understanding about what your team does on a daily basis is definitely a must. Furthermore, how can you really act as a conduit to the success of your kick-ass developers or mouth off their accomplishments in front of your customers and senior management if you don’t understand technology? I believe this attribute also helps you to kick ass when it really comes down to marrying business needs with the technology roadmap.

Autocracy Democracy – How hard it is to get rounded decisions by taking a holistic perspective of the team? I think if you are one of the managers who micro manage things or takes decision in autocratic way then you really have to figure out a way to change yourself. There are times when autocratic decisions are required but they should be few and far between. IMHO, one only stands to gain by listening from the people who are in touch with ground reality a.k.a code a.k.a the software.

Ability to manage ambiguity – I think majority of the developers are generally much contended with creating bits and lack the overall business perspective somewhat. I think a manager would score really high on the developer’s respect-o-meter if he can bring in some level of clarity to ever changing business needs and articulate that in technical context. Yes, articulation in technical context. Not sure, how is this possible? Please look at point number 1.

Playing to their Strengths – I think one of the reasons project fail or are behind schedule is that developers don’t play according to their skills. I think one can only have a highly productive team and developers with a healthy swagger if one plays according to their strengths. In my experience, most of the managers generally have this attribute imbibed in their DNA as they are born with the natural instinct of mitigating risk. But, if you think you are not one of the lucky ones, then you would have to collaborate with your developers at a deeper level to understand what moves them. In case, you are not in a position to figure out the strengths then I would suggest following Scott Berkun’s advice of asking a developer how you can help them shine or kick-ass in the project.

Growing Talent – Playing to your team’s strength alone is not enough you really have to help them grow. I don’t mean helping them climb the corporate ladder faster but helping them realize their true potential. It means either mentoring them or helping them find the right mentor. It means helping them to take on lateral tasks which might not be part of their core skill set. I think developers are generally more productive and committed if they think they are following a well laid out plan.

Technical Competence $30
Playing to their Strengths $25
Helping your team grow $25
Ability to manage ambiguity $20
Standing up to defend the rights of your team, Priceless!

Before you go on a rant complaining about this, please bear in mind that this has been written by a New Manager On The Block who is still learning the ways of being an effective manager.

10 comments:

Uma Duddu said...

Hey Tarun,

Cool blog. Really well written and a typical Tarunian sense of humor to it (if i can call it so).

Great meeting this way again. Hope its going great for you.

Rgds,
Uma Duddu

Anonymous said...

ahem ahem!!!!
-- no comments --

Anonymous said...

My 2 cents to your dollars calculation...
1 thing that i have experience which can earn you some points on your developers repect-o-meter is creating a personal repo. By personal repo i do not mean you know his "s orientation", but knowing his background and appreciating him for what he is will definately help. Especially in the indian culture and the way indian developers work, creating a relationship of an elder buddy to whom your developer can walk to in case of personal issues also will be of immense help in being a succesful manager.

playing cricket with them in corporate tournaments could be a added advantage :)

From another new manager also aiming to be a decent manager if not a good one atleast.

LifeStreaming said...

Good stuff ! Bit wodehouse'ian, but eminently readable.

Anonymous said...

Tarun,
It was nice to read your blog (Ashish Mehndi sent us the link). I'm sure you're doing well in your new role and certainly you have a happier family in Delhi. It is important for managers to stay abreast of key new technologies and product enhancements at a minimum L100 level. Working on a way to make this programmatic within MGSI.
Best Wishes
Dwarka

Hitesh Chandel said...
This comment has been removed by the author.
Hitesh Chandel said...

Hey Tarun,

It was amazing to read this post. It is really an eye opener and provided me a completely convincing perspective of how a manager should be, at least in the engineering industry like software development. If I relate this to the real life examples of managers that I have come across (of course without offending anyone), the respect factor mentioned by you absolutely match with what a developer like me think of his manager. This post is priceless for the people like me, who aspire to become a good manager in their career rather than just getting a title attached to the visiting card having a very low respectometer from the people reporting to him.

Great job. Lesser words, bigger message.

Regards
Hitesh Chandel

samar said...

Nice post Tarun... .being a developer I could relate to the article very much... .

I was wondering if you could refer me a book which overviews project management practices and processes in coversational humourous style(something like yours)...making for some light reading.

Tarun Kohli said...

Samar,
I would definitely recommend "Managing Humans" By Michael Lopp( www.randsinrepose.com) and "The Art of Project Management" by Scott Berkun ( www.scottberkun.com).

Hope you like them!

Unknown said...

Hear hear!

More managers need to get it into their heads that they work for their team and not the other way around.