A Software Manager’s Number 1 Job

As a software manager, I’m responsible for a lot, I go to meetings, I run project and feature development, I interview new employees, work with my team through design meetings and yes from time to time I still do some coding to keep me honest. But at the end of the day there is one piece of my job that is the most important and if I don’t do it all others would fall by the wayside. No it’s not status reports, team meetings, enterprisey design like architecture stuff or anything else really related to technology… no it’s something much simpler – the professional growth of every member of my team… and no… this is not done through annual performance reviews.So why’s this so important? Well the hallmark of a great team is when they can execute without their manager around, that means the ship stays on course and keeps heading North, maybe making some well-thought out corrections along the way, but they get there. This is not an easy thing to do and cannot be done overnight, it involves a two things a) working with everyone as a team so everyone understands the skills that member A brings to the table and b) working with everyone individually – you know where you want your team to be and now YOU need to push them in the direction to get it done. So how do you do this?Hire the Right People
If you hire bad people, you WILL get bad results. That little voice going off in your head, it is little now, but if you hire this guy, the moment he screws up the first time (like maybe being 10 minutes late) that voice is going to become a blaring siren, Game Over, time to move on. Trust your gut instinct, at the end of the day you might get pressure from HR or others to just “make a hire” but at the end of the day, they are not the one that has to work with this person for a hopefully long time. Chemistry is important in an interview, some people get very nervous, what’s the best way to relax people? Get them to talk about their accomplishments, then dig in some very open-ended questions so you see how they think. Remember you are not looking for someone like you, but someone to complement your group, fill the gaps you have and bring some extra-added value to your team. At the end of an interview if you’re not willing to fight to get that guy, then you don’t really want him, so move on. But if he is a great fit for your team well then the real fun begins.Challenge Them
I have not many a person in my life that does not want to try something different or new at some point in their lives. People might have different thresholds for when they want to do this, but at some point they will. It is your job to get them to identify when they are getting close to that point and give them the boost they need to motivate them for the next big thing. I am constantly asking my team if they are happy with what they are working on, is there something else they want work on, etc, etc, not because I like job sharing or copious knowledge transfer but because I want them to enjoy what they are doing and I want them to keep pushing themselves to be better. If you are not challenging your team, then they’ll get bored and start looking elsewhere and then you’re done for.Give them Feedback
Everyone wants to know how they’re doing but what everyone doesn’t tell you is – “Hey can you tell me when I really blow it so I know not to do it next time?” Yeah sorry, no one is going to stand up and tell you that… but if you don’t tell them when they screw up they are never going to get better and really bring their game to the level you need it to be at. I’m not advocating telling someone they are a piece of garbage with no future, but if mistakes are made on a feature you gotta put them in the shoes of your customer or support group? If code blows up because it was sloppy you need to point them to it and hard – “Look I know you wanted to make it faster, but really 45 threads? That was the silver bullet here?” The key is to give them feedback in a way that you clearly indicate the bad but at the same time highlight how you know they can get there and then give them the opportunity to do it. They will get mad at you, most likely they will cross their arms when discussing it and look like they want to leave… the keepers are the ones that go away and cool off and come in on Monday with new ideas looking to get better, these are the guys you want to hold onto because you know they want it as bad as you.Back in the early days when I had just became a manager I made a massive misstep by hiring someone I knew was not a good fit, but I bowed to the pressure and hired them… six months later I sent them packing, I ignored my instinct and wasted 6 month’s of their time and mine. I can now look at every person in my group and tell you I am at a different stage of growth with all of them, some are ready for the next challenge, some are chewing on feedback and some are doing a kick-ass job day in and day out while helping others on the team grow. It goes counter to popular culture, but I’m willing to miss a few dates to see a guy work through a problem and come out the other side better for it because the next project he’s on he’ll do it better then if he never had the opportunity to try at all.

» Tags: ,

Comments are closed.