Monday, October 13, 2008

What is wrong with developers?

It is so hard to fight clichés. The ones that have been hurting me personally are:

  • Developers cannot/should not manage
  • Developers should not drive features of a product

Of course, like anything else, there are good reasons and bad reasons for what those are. An efficient developer in my opinion should focus on one task at a time and avoid all distractions like the plague. Anything which does not fit this requirements affects productivity and quality. It is not that simple of course, but not a bad generalization.

I think the main issue with developers being promoted to management is two fold. First they should really want to and not being pushed into it because that is the only way for their career to progress (meaning to get a decent pay raise). Second, this represents a big mental shift and some people are just not very good at adapting to new situations. I would not say developers are worse at it than any other label you can put on people. Two very important skills a developer would bring would be analytical skill and strong organizational skills. Those are needed and I would say required. A manager to me is someone who brings order into Chaos so his/her team can achieve their goals as best and as efficiently as possible. Of course you need more than that, but those are in themselves hard skills to learn.

The other one is that developers should not be driving requirements. I understand the stereotype of technology for the sake of it and bla bla bla. But I have met lots of developers with strong usability skills, user empathy and good ideas. I am all for analysis of the market and creating features that people want and would bring the money and all. I am sold on it, I agree it is tough to be heads down into a product and not have time to check the market and all. A product manager role is, in my opinion, welcome and  required. But I also find that a bit of input from technical people on usability and  ingenuity would not hurt either. Some of the best differentiators in my industry came from developers. Of course not everybody is creative same as not every product manager is a good one. I have had to live through some seriously bad ideas in my time. A good way to build a product should be a combination of market drivers and a free for all approach from all sides of the spectrum of people participating in the product. I fear otherwise we are only creating bland products with no real differentiator. Because let's face it, your competitors have access to the same market researches. Yes, there is a trick in knowing which ones to attack first and potentially how to attack them (although I have seen product managers decide their job stop at the what and don't bother with the how), but in the long term, when replying to an RFP, everyone will be able to say yes to most things. There is a need to go beyond a purely reactive approach to building those products.

I suppose the conclusion is that not all developers live in their own bubbles. No more than anyone else. Provide training, perspective, enough room to fail here and there and we will surprise you. What works is collaboration of disciplines anyway, include your technical people in some of those decisions. They will understand why they are doing things a lot better (that can only help) and might give your product that edge that will make it stand out from the competition.

No comments: