Tim on Leadership

Musings on Management and Leadership from Tim Parker

Infrastructure Versus the "Quick Fix"

Over my years at a major software company I changed jobs an average of every nine months.  Why?  My job was to go into a group, figure out what was "wrong" with them, come up with a "fix", and "implement" that fix.  After fixing, I'd be moved on and someone else would handle the rest of the process.  This was very educational for me because I'd see patterns in many groups where the same "things" were "wrong" and could be fixed the same way, while appearing to be clever for figuring it all out quickly!  It always ended up the same, though: upper management expected a quick fix to the problem, but there seldom was one problem and there almost never was a quick fix.

The one thing I saw in most groups was the underlying process.  Often things were not done consistently, and fixing just meant defining and implementing a process that worked.  Of course, that takes rime.  There's no button to push or attitude to change, it's just a matter of identifying what was missing and implementing the solution.  Generally, the same steps were used in most groups because the environment was the same in many.  The downside to this was upper management would drop me into a group and expect, within one week, a wonderful change in the group's output.  Quick fixes never work, in practice, if the infrastructure does not support the changes.

My previous job was running a group of 5,000 engineers worldwide.  It was an interesting change from the previous company where most groups were 100 to 400 people.  The scale was different, but the issues were remarkable similar.  A bad infrastructure occurs just as many times in a large group as in a small one, and improving the infrastructure takes just as long (often longer) in big groups.

So, when I look at the changes made in the infrastructure here over the last year, I am assured to know there have been considerable changes.  Whether or not you're aware of them, there's been change, all for the better.  As the infrastructure gets better, the group's output, our code, gets better as a natural result.  What changes have we made?  That's the subject of another post...