Delivering Leadership

Jun 22

As should be clear from my resume and most of the things I write, I'm a code monkey. At the moment, I'm the chief code monkey on one of the web development teams at Dealermatch. This isn't because I'm smarter or better at writing code than the other monkeys, it's because Dealermatch is an agile environment and we rotate the tech lead position. I'm up in the rotation, so I'm the designated meeting monkey and–more or less–the lead monkey.

For "House of Cards" fans, being the tech lead in this sort of environment is sort of like being the Majority Whip: I have no actual power, but I still have a title that implies that I should. I'm fairly comfortable in this spot, actually, because having real power would mean that I had to make harder choices than I want to make about personel. Having no power means that I'm a peer, and if anyone's head is on the block, my head is too. In some ways this is a stronger position, the team trusts that I have their best interests at heart because their best interests are my best interests, because I'm on the team. In reality, I'm just another code monkey.

People sometimes ask me about leadership, and I often wonder myself what leadership is. I know that there is a difference on the character of the team when I'm the tech lead, but I can't really put my finger on it. Other leads tend to keep a more even keel, the team doesn't get up as a high, it's less emotional. And there's a difference in me, as well. When I'm not the tech lead, I don't notice my behavior as much–I tend to let the rough edges show more. I've noticed in the last couple of weeks, though, that I'm making more of an effort not to be an asshole, if for no other reason than that I don't want to try to lead a team of assholes.

Which I guess is a leadership deliverable: team attitude and morale. Attitude is a multi-dimensional thing. It involves work ethic, investment, pride, and camraderie, among other, even less tangible things. And there are tons of books on how to be the kind of leader that inspires good attitude in your team. For me, in the agile environment, it's pretty simple: have a strong work ethic, invest yourself in the success of the company, take pride in what you do, care about your teammates. That last one is not insignificant, by the way. It's just easier to lead a team you care about, your instincts are better.

Another leadership deliverable is the actual deliverables for the team, the work that they are supposed to get done. In the agile environment, the meeting monkey is a code monkey, so obviously shouldering your part of the coding burden is part of this. The other part is standing between your team and the world. Clearing blockers, reducing distractions and interuptions, managing expectations, going to meetings. We don't have a lot of blockers at Dealermatch, the dev team has everything we need to get the job done, but there are occasional conversations that must be had, or the team needs to get together to make an architectural decision, and of course we need to keep the rest of the world informed about what we're up to.

It's hard to put my finger on how I'm behaving or what I'm doing when I'm doing well as a leader and when I'm doing poorly. It's hard to define things that people can or should do to be good leaders, because everyone has to work in their own style. In a way, every fantasy book that has magic in it is a parable about leadership whenever a character has to find some key in their own person that unlocks a power or a technology, that power might as well be called leadership. Unlike a fantasy story, though, you can have leadership one day and completely lose it the next. Happens to me all the time… one moment I'm a good leader, the next I fall on my face.

In the end, I think the secret to leadership is the same as the secret to anything, to be good at something, you must practice it deliberately. This is where I think the rotating meeting monkey model of leadership wins, because everyone gets a chance to put their practice to practical use when they become that monkey. Pair programming helps too, because everyone, every day, gets a chance to lead a team of two for part of the day. A mature team more or less leads itself, but it takes leadership to get there.