Get updates in your Inbox

Why manage? when you can code!

About the author

mansoor

Mansoor is a process improvement advisor and executive trainer by profession and an avid dreamer and thinker in his free time. He is highly opinionated of the world around him and chooses blogs to express some of these opinions for the world to critique. He is a born and bred karachiite but now living life large in islamabad.

Hi new visitor! At Green & White we discuss startups, business models, new media marketing, usability and more.

You can subscribe to the RSS feed or subscribe for email alerts so that you keep up to date with the latest content. Now, on with the regular content...

puppetthumbnail.jpgWhen you move around in various software development organizations and talk to people, you hear one common statement. Coding is the most important task that we do! Everything else, whether it be testing or documentation or even talking with co-workers is a waste of time. If someone is not coding, then they are loosing money!

I suppose you could hold that view, if you think that the only thing which goes to the client at the end of the day is executable code and all you need to be successful are a handful (no more than 7 i believe, since a single person can’t effectively handle more than 7 people at a time) people at your disposal. True, there are firms doing remarkable work with just those kind of dynamics, but i ask you… how many have been small, lean and successful for a long time?


Truth is, if you are successful, you will get more business and you will need to add more (>7) people in your company. However, if you present a counter-argument that no, we’re small and we’re still fine, then i seriously doubt your ’success’ in the industry. The whole fun of the capitalistic society we’ve become is the fact that we setup enterprises to fill needs of some customers, which in turn earn us money, which can then better our own lives. And yes, the more customers you get, the more money you make and the better your life becomes… however, the more customers you add the more people you will need to add to handle that load whether it be development, or support or even accounting & HR!

So here’s my question again… why manage? Wordnet’s first definition of managing is “pull off: be successful; achieve a goal” and that is exactly why one should be managing.

When we think of managing, what’s the first thing that comes to mind? Men and women in black suits and colorful ties with laptops & stone faces for whom the only care in the world is to cut costs by firing you or to make your life hell by strict HR policies? I know, that’s the first thing which used to come in my mind as little as a couple of months ago… but then i thought, wait! what is it that makes them… them?!

To boil it down, a manager uses his/her experience to look at the broader picture (beyond just the coding exercise) and has the requisite skills needed to negotiate, delegate, track and deliver on tasks through interactions not just with machines but also with people! You see, that’s the foremost reason you need managers! To interact with people! When on a project, someone has the responsibility to talk with 1)developers, 2)their management, 3)clients and 4)vendors or suppliers (if needed) among others. To ensure smooth flow of communication is carried out and everyone is kept informed!

And that, ladies and gentlemen, is why you need to manage! the code, the deliverable and the executable is all very good but if other people involved in the process aren’t really understanding what you are delivering… then seriously, whats the point?

11 additional thoughts for this post.

  1. Adeel Ijaz Said:

    Your article is good but doesnt make sense for current environment.

    I get two morals of this article

    1) Coding is not the only thing important to make your business a success

    2) Managing the whole process is must

    But my friend, Now a days, even in a small setup of 6 or 7 people, there is a manager and obviously every organization understands the concept of the manager.

    therefore if there is any other moral of this article that i couldnt get, it would be very kind if u explain.

    Thankyou

  2. mansoor Said:

    adeel: you’ve very rightly distilled the whole article in two concise points. those are indeed the morals.

    The thing is, even where there are managers, especially those managing the projects, we see that these PMs are involved in the coding practice as well as the managing aspects. what this results in, unfortunately, is less involvement on actually managing the project.

    In other cases, we have managers who ‘manage’ the office spaces and day to day running, but not the projects and the client interactions. these managers are not the subject of this discussion.

    Lastly, we have a term/designation of “team leads” who are infact, defecto project managers.. and are expected to perform all PM tasks of managing schedules, timelines and customer contact, but without any time allocation, skillset or authority.

    Another point i’d like to mention here, my post is not meant for startups. Obviously, they work under different dynamics and project management may not be stressed upon much because there is an urgency to ensure that the management is taken on by every member of the team to get overall success. This post is meant for established and running software houses, who have been around for over 3 to 5 years and have worked with over 10 clients.

    these companies are facing a problem of virtual glass ceilings as far as growth is concerned, mostly because of missing underlying infrastructure.

  3. Yasser Said:

    Interesting point of view. I dont think anyone denies the need for managing projects, even engineers know it in their hearts of hearts. The real problem arises when the coders/engineers learn that their manager is making significantly more than they are; also when the manager starts thinking that because he is making more, his job is more important than that of the engineers. A proportionate reward system and deserved appreciation of contribution, monetary and otherwise, an take care of the problem. It can also help resist the temptation to become managers that most Pakistani engineers have.

    In the most simplistic scenario imagine a team of 7 engineers with no manager. Can the team survive? May be! Now imagine a team of 7 managers with no engineer ;-)

  4. mansoor Said:

    yasser: there’s no denying that engineers are not important. however, the only venue of concern is, engineers are usually not interested in what a client wants, but rather how can they push the envelope of cutting technology technologies. also, since many engineers are also of high intellect, the comprehension that the general user will require only a few commands, and only those which get their work done instead of a whole bevy of ‘cutting edge tools’ doesn’t sit well with them.

    this is also an area of mediation where managers can play a role.. and also one reason why i believe atleast one manager should not be from a technical background at a software dev firm but rather from a people background.

  5. Yasser Said:

    I am all for having management people. The point i was making was that the source of conflict between engineers and managers is NOT that engineers think managers are not important. That is not the case. The dispute arises when the manager thinks he is “above” the team and the engineers think the manager is just playing an auxiliary role so he should not be rewarded more than the engineers.

    Also i have to disagree with your second observation as well. “People skills” are necessary but not sufficient for being a good manager of technology. HR management is the only place where people skills are necessary and sufficient. For managing technology projects, the manager needs to know the technology inside out irrespective of whether he practices it hands-on or not.

  6. mansoor Said:

    yasser: just one question, you said “For managing technology projects, the manager needs to know the technology inside out irrespective of whether he practices it hands-on or not”,

    tell me, if you have such a valuable resource who knows the technology inside out, wouldn’t you rather have them implement that knowledge via coding or via system designing or would you rather have them spend their time ‘managing’ and thus making them more expensive?

    one last thing, what exactly it is that technology-versed manager can do that a non-tech versed manager cant?

  7. Yasser Said:

    Knowing and practicing technology dont have to overlap. e.g. If my client wants to build a B2B service, as a manager i need to know what REST based web services do, what are their limitations and alternatives, irrespective of whether i have built a webservice myself or not.

    This is just my personal opinion but a non-technical manager can not effectively negotiate between the client and the developers if he doesn’t know the technology involved.

    Google is the most successful software company of the last two decades and although it does encourage multi-disciplinary hiring, an absolute passion for the technology involved in creating google’s products is one of the key requirements for new candidates.

  8. Adnan Siddiqi Said:

    as a manager i need to know what REST based web service

    I believe this is the job of application architect to figure out which technology should be used. It’s not PM’s headache to decide which technology would be best for certain product.

  9. mansoor Said:

    again, never thought i’d say this but Adnan couldn’t have put it any better!

    this is what i was coming to as well, we’re talking about managers, not architects. Domain experience and expertise is the domain of architects and analysts. their job is to ensure they can get all the requirements of the customer satisfied by the technological advancements available to them. however, it is not their jobs to manage the customer, manage their expectations, to manage schedule/time/cost triangle and so forth.

    when we couple both of these tasks onto one person, we get a decrease in productivity, because lets face it.. both of these are jobs which demand specific skillsets which are largely mutually exclusive.

  10. Yasser Said:

    Adnan’s point is valid and simply boils the discussion down to - who would you rather have as the manager of a team:

    A) a technical architect
    B) a manager with no technology know-how but only soft skills at his/her disposal.

    I am obviously strongly biased towards A) based on my own experience. But i understand and respect the fact that both of you would go for B). It would make for a great study if you guys can find out examples of excellent non-technical managers who successfully led technology projects. I have countless examples of managers in category A).

  11. Adnan Siddiqi Said:

    yaar Yasser I didn’t mean a PM should be technology illetrate but then you can’t expect a PM to give you solution that whether one should use jQuery or YUI or Flex.

    I know in Pakistan having concept of application architect is not common since a PM is considered responsible(read culprit) for everything but in reality I would prefer to have a team of hard core developers(not Coders!),application architect,TL and a PM.

Leave a Comment

Subscribe without commenting

Sponsors:


Hey Tweeters! Sign your profile below!


Recent Comments:






  • Close
    E-mail It