Donnie Berkholz's Story of Data

Organizational manipulation. OR, you can’t just write code.

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

At OSCON last week, I went to a talk by Googlers Ben Collins-Sussman and Brian Fitzpatrick (a.k.a. Ben and Fitz, of Subversion fame) on “The Art of Organizational Manipulation.” You can watch a version of the talk from Google I/O above, but I’m going to summarize some of the most valuable points.

The basic thrust was a combination of two points about how to be a better software engineer: (1) Be proactive about your success, and (2) Watch out for bad actors and companies, or work around them.

Much like Steve Yegge, as I wrote this morning, they focused on nontechnical factors. They started talking about what good developers do. Basic concepts like:

  • Pursuing responsibility,
  • Questioning things,
  • Communicating proactively, and
  • Acting like an adult.

One thing that made me laugh while they were talking about proactive communication was how to deal with micromanagement: “If you are micromanaged, micromanage right back.” Let them know you’re going to the bathroom, printing off some sheets of paper, getting a coffee, etc. On the note of acting like an adult, it’s about building trust both ways. Your manager shouldn’t have to baby you, and you should have the flexibility to get your work done whenever works best for you.

Later, they started talking about the features of bad managers and bad companies. Turns out, like many things, there are a large number of ways to screw up but only a few ways to get it right. Here’s some of the problems with managers:

  • Too conservative
  • Ignores low performers
  • Unaware of the office politician. These people are great at managing up, taking credit while placing blame. They puts energy into looking impactful but not being impactful. Be wary of engaging them or ratting them out. Everyone above them loves them.

Bad organizations have a whole ‘nother set of problems:

  • Unrealistic expectations
  • Impossible schedules, pre-announced release dates w/ death marches
  • Not enough resources
  • Don’t trust you. Sites are blocked, times are clocked.
  • Productivity measured by LOC written
  • Directional chaos: Company or team pulled in different directions
  • Obsessed w/ titles, huge hierarchies

So how do you get stuff done in a dysfunctional environment? Ask for forgiveness, not permission. But be aware of how much you can get away with. Also, don’t step in front of every train. Pick your battles, and don’t waste your political capital. If you think one of your ideas needs to be heard at the highest level, sneak it in. Whisper your ideas to influential people. It’s amazing how much further your ideas go if you don’t care about getting credit for them.

If you’re in a toxic company, here are a few more strategies for making progress:

  • Don’t destroy; replace. Successful changes don’t just get rid of something broken, they replace it with an improvement. For example, replacing a 30-minute “standup” meeting with a status email.
  • Work the ladder. If you’re in a toxic company, climb the ladder until people can’t screw with you. At that point, you can create a bubble of “leave me alone.”

Regardless of where you are, you need to manage your ‘upward’ perception. Even if leadership isn’t asking what you’re doing every day, make them aware. Underpromise and overdeliver so it looks like you’re doing great. Focus on launching things, with a combination of “offensive” and “defensive” work. Offensive work is launches and new stuff, while defense is maintenance, technical debt, etc. They recommended a ratio of ~2:1 offensive:defensive so your progress is clear to others.

One point they made that I find myself reiterating time and time again is the importance of face time. You need to be with people in person, every once in a while. No amount of Skype or Google+ Hangouts can replace being there in person, from the point of view of truly understanding their personalities, being around before and after meetings, during lunchtime, etc. Because it turns out that a lot of important conversations happen during that time.

The final major point was learning how to ask a busy exec for anything. The key was minimizing the time required, because as Fitz said, “The inbox of an executive is basically a DDoS attack.” Their recommendation was that you make any requests by email with the following format: only 1 topic, described by 3 short bullets, with 1 call to action. You can say there’s more extraneous information below signature, but it must not be required for the exec to act.

As someone with a lot of knowledge and experience on this side of things, I found it a useful talk with a few new points, and developers should definitely check it out.

by-sa

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *