Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As a developer/DevLead you've got your focus on developing software and you may be quite good in it.

Developers are, however, in my observation often not so good at playing political games.

This concerns in particular about:

  • Protecting yourself and to provide information correctly
  • Keeping track about: Who has said what
  • Who is to blame if anything goes wrong
  • Etc.

Management guys are much better in the game of looking good and blaming others. :)

Are there common rules and techniques for software developers and DevLeads to protect themselves from political games and making life easier?

share|improve this question

closed as off topic by Alex Feinman, ozz, Robert Harvey, Doc Brown, BЈовић May 24 '13 at 17:11

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

One rule is to document every decision and conversation between you, your team and the higher managements. The best way to do so is to sent emails instead of face-to-face conversations, or after a decision is made write an email containing it starting with "I'm writing to make sure we have agreed upon...." – superM May 24 '13 at 14:08
This question is very much related:… – MrFox May 24 '13 at 14:10
This question is probably a better fit for The Workplace: – Alex Feinman May 24 '13 at 14:14
When discussing problems I focus less on blame and more on the consequences. Often the problem is a shared blame between a number of people but only the most obvious offender receives correction. – BeardedO May 24 '13 at 15:36
@AlexFeinman can this question be moved to Workplace now that it's closed? – Daniel J. Pritchett May 24 '13 at 17:14
up vote 9 down vote accepted

The core strategy here is to understand the incentives and motivations of all the other players in your ecosystem. Where a naive participant might assume that technical proficiency is the primary goal of an engineering organization, the reality is a bit different.

The key is this Upton Sinclair quote:

"It is difficult to get a man to understand something, when his salary depends upon his not understanding it!"

Each level of the organization has different incentives. The decisions made by individuals at these levels are going to be aimed at achieving their desired outcomes.

Oddities of the corporation

  • Leaders tend to prefer increased revenues to decreased costs. Savings may be better on the balance sheet, but Wall Street likes growth and so executive compensation (which is extremely bonus heavy) will favor more sales over cost cutting. This means that saving money won't always make you as many friends as you'd hope.
  • Revenue-generating departments (product, sales, marketing) get vastly more political power in a corporation than do cost centers like your typical corporate IT group. This flows directly from point #1. Without products and services to sell, there is no budget for IT. The unescapable consequence of this is that there is always an ambitious manager daydreaming of a way to get rid of the entire IT department with one brilliant move.
  • Managers often don't really want you to save them too much money. Reduced costs lead to reduced headcount which leads to reduced influence and less political capital for the manager. Since corporate management is mostly about facilitation and communications, proposing to decrease a manager's influence is going to set off alarm bells in their heads, even if it might help the company's bottom line. Put yourself in the manager's shoes - will the company think twice about laying them off if their team is obsoleted by a new piece of software?

Authors and books to broaden your perspective:

  • Michael Lopp's tech management books
  • Venkatesh Rao's blog
  • The Freakonomics books get right to the heart of incentives in an easily accessible way.

Simple tips

  • Put yourself in a situation where you are responsible for making the company money. If you're leading a cost center team, accept that you'll always be the poor cousin to the teams bringing in the money. Liar's Poker gives a clear look at these organizational dynamics.
  • Recognize the unspeakable incentives of the people and teams you have to work with. Sure, everyone wants the company to grow and succeed. They also want to eat, to have health insurance, and to be in control of their careers. This means not getting laid off, getting promoted, getting raises, etc. It is an unavoidable fact that most corporate jobs can't accurately connect individual performance with individual rewards, and so you have to come to accept that people will be acting in their own self-interest.
  • Work at a small, flat company with a very high percentage of revenue-generating employees. The larger you get the more overhead will creep in and the more corrupted folks' incentives will become.
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.