Them vs. Us: A Developers’ View Point

One of the problems with development is the separation between managers and developers. In many cases, Project managers or software development managers are viewed by developers as the other people (them). This separation has many possible reasons:

  1. Managers don’t listen:

    A lot of managers do nothing but just give orders. They need this list of features to be done in x days from now, although developers say that this is impossible (due to technical reasons or because the given time is not enough). This is a killer mistake.A study done by IBM showed that the developers’ estimates are much more precise than that of their managers. The one who will write the code is the one who decides whether it is possible to write it or not in the given circumstances. Steve McConnell says that a manager discussing his developers’ time estimate is like someone discussing why a kilometer contains 1000 meters.

    Managers who don’t listen are morale killers. Anyone can have a moment where he needs to be listened to. Listening is an important communication skill – see the 7 habits of highly effective people. A manager who doesn’t listen decreases the productivity of his developers significantly, and in turn affects his project schedule negatively.

  2. Managers separate themselves in a higher class than developers:
    Some managers think of themselves as the masters, the other developers are the rabble. They don’t share time, opinions or conversations with those who are lower than them in the functional ladder. Here is an interesting story was told to me by a friend developer:This friend was a junior developer on a web project. The senior developer wrote a page that does some stuff and shows the user some confirmation and error messages based on what he is doing. My friend said that he thinks one of the messages is not very user friendly. This was all what he said. The senior developer became very angry and shouted and went to the software department’s manager and kept yelling and shouting that “This is a junior developer and I am the senior, how come that he criticizes my work?”
  3. Developers put themselves in a lower class than managers:
    Sometimes the manager is willing to hear ideas and discuss things with his developers but some developers think that managers’ thoughts are above discussions. All what a developer has to do is to implement what his managers’ want without thinking at all.

One of the ways to solve the “Them vs. us” situation is to use someone in the middle between the developers and the managers. For example the software architect is someone who deals with the managers and also deals with the developers. I don’t mean the software architect in particular but anyone who is in the middle between management and development depending on the development style and life cycle model. Some development paradigms don’t even define a role for the software architect.

This “man in the middle” can transfer the thoughts of the developers to the managers and transfer thoughts of the mangers to the developers- specially in teams with big number of developers and managers where hearing every developer could be a burden for the managers. The “man in the middle” could understand the ideas and thoughts of managers and developers, and both teams are willing to listen to him. If the managers are unwilling to listen to developers he can explain how important this is, and how this could affect the project.
In some situations, the “man in the middle” can ask for a meeting between the developers and the managers when he senses that there is something that needs to be discussed without a mediator.

Of course the “man in the middle” idea can only one work in an environment where mangers are willing to listen to developers. If a manager insists on being “Mr. knows everything” then no idea is going to work with him.

Leave a Reply