Interesting interesting interesting day at work today! I learned something! Or I should say I'm learning something. I'll explain.
On the team I'm working with I've been moved to a part of it responsible for improving the app we're working on, in a more long-term or substantial way. There are three of us. One of us has been designated the leader of this subsection of the team, and that one of us isn't me. :) However, our leader had some rather ambitious plans for improving the app, namely rewriting it by starting with the user interface first. This application is huge, requiring seven people to support it, and yet we still have issues dealing with it. So suggesting a rewrite in the manner our leader was suggesting was seen as foolhardy by practically everyone but him. So even though the leader is a full-time employee and I'm just a contractor, I made my feelings known to him and to the rest of the team at our group meeting.
Since pretty much everyone was in agreement his plan was crazy he was told to mostly abandon his approach and adopt a more modest phased approach. Although I'm not the leader of our group I am the only one of us who has worked on the app in a substantial way. I saw the pitfalls in our leader's plan because, although he's the leader, he's never really worked on the code and didn't fully grasp the scope of what he was trying to accomplish. So what this means is that I'm sort of a power behind the throne. I actually feel I should be in charge simply because I understand what has to be done better, the other guy on the team agrees. But I'm comfortable with the way things are: I express myself and make my feelings known so I'm happy.
Meanwhile a new member of the larger team has been causing a bit of a ruckus. He's a smart guy, I can tell, and I'm pretty sure he can teach me some things. But I think he's afflicted with the condition of many new people joining a team: I'm going to fix everything my way regardless of whether or not I realize the impact of my decisions. Three times now he's been caught modifying code outside of the scope that he was asked to look at. Two of those times resulted in runtime errors in code that previously worked, the other was a refactoring of a major section of code only weeks away from attempting to go into production. Although he's smart and knows a lot I really wish he would stop "fixing" things. He was asked by our team lead, not the same leader I mentioned above, to back out the changes he made in all three instances.
That refactored code he was working on has become his pet project. No one's asked him to do it, he's just taken it upon himself to make the code better. So even though he backed his change out he just checked it in to a different part of the source code tree. So today was a slow day at work: it's warm out – 90 degrees, yay! – all the various leaders are out, meetings canceled, you get the idea. So I get a message from the guy that he's checked in code to the area our small subsection of 3 people has been using! What in the world, you did what!! Why!? He's also noticed the code won't compile and offers to fix it.
I told him no we don't need your help to fix the code since we know it's broken already. And it's broken for a reason, namely our leader is out and left it in an inconsistent state thinking it wouldn't matter since no one but us 3 would be using it. I'm actually glad he asked before "fixing" it because he has become known for just doing stuff. But I was pissed about the code he checked in, his pet project again. I told him he needs to communicate more. It is very disruptive when you're working on something and things just start changing when you don't expect them to. He's definitely of the tact of doing something first and asking forgiveness than asking for permission the first time. It's a tactic I've used myself when I felt what I wanted to do wouldn't be approved but I thought it was the right thing to do.
Here's where the lessons begin to come into play, everything else was just preamble to give meaning to this. Because this guy asked me if he should back out his changes I felt I had power. What complicated my decision was my personal feelings against him. He reminds me of myself actually. I've been in his shoes, I've done things without telling people until I was done, and saying no was more difficult. I knew what I was doing and I can tell he does too with his latest action. I undermined our 3-man team leader in that group meeting, and to his face – or voice since he doesn't work on-site – and I felt this guy had undermined me by checking in this code. It's not "my" code actually, it's the company's, but the kind of work we're supposed to be doing isn't his domain. It once wasn't my domain either but that didn't stop me from sending emails to the people whose domain it was suggesting things. Eventually I got moved to this part of the team.
So in the moment he asked me if he should back out his change I knew I had a dilemma. Go with personal feelings or the wider view? I don't think I've ever been in this position before, a position of power. I know he feels as strongly about his pet project as I did about mine in the past. I was honest with him and told him the other team members should be consulted before a decision was made, but that personally I feel he should back it out. In this situation I actually think I'm justified in saying so because our work is going to be disruptive on its own to the main team, tacking his on top will just add more uncertainty. His work needs to be done, just not right now.
I've definitely learned in recent days I have issues with people who act like me. Not just this guy either, another guy on our team. It's more than interesting the people I have issues with… Aside from that is the lesson of power, and responsibly and compassionately using it. Although this was just one small incident I think it has a lesson for me, prompting me to orient my thoughts in a certain way, consider things I might not otherwise consider. I wouldn't mind being a team lead one day myself, and having power I'd want to use it wisely. Having to face myself and my motivations today was definitely humbling; but I think I did okay.