Growing up, I was taught that hard work is valued and rewarded. I learned recently that may not be 100% accurate.
Let’s back up a few years.
As a software engineer, I “own” certain pieces of software that I have written, and continue to maintain. As part of that maintenance, I am expected to investigate and resolve problems encountered by customers. I’ve owned a particular very complex piece of software for over ten years. When there are problems with it, sometimes it takes awhile to determine what is going on. Sometimes the problems are actually with other pieces of software that I interact with.
Because of my knowledge, experience, and dedication I always take the lead on such problems, coordinating teams of people to resolve the issue. I gained a reputation among my technical peers as the “go to guy” to help resolve tough issues.
Unfortunately, management had a slightly different perspective.
While they complemented me on my ability to resolve issues that came up, in their eyes I became the guy that constantly had problems to fix. They didn’t see that over half the issues I worked on ended up being issues in other people’s code, and didn’t understand that on a scale of 1 to 10 the complexity of my code is on the order of a 9.5. They viewed my code quality as needing improvement. My yearly evaluation was always above average, but I was never given the status of top performer that everyone desired, but I hadn’t achieved for a number of years.
Last year, my job role changed, and I was made a technical team lead of a team of five other people. We were tasked with additional work, but I was told to teach others how my code worked, so that we had more eyes looking at, improving, and maintaining it. What had been solely my work, is now the full time jobs of two of my team members, and a third works on it part-time.
In my opinion, the code quality hasn’t changed. Issues are found and fixed at approximately the same rate. The difference now is that I’m not writing the code. I’m designing the changes, and handing them off to my teammates to execute. When there are problems, I give them guidance as to how to resolve. When people from other groups look for a “go to” person to lean on to gather a team of people to resolve a tough problem, I decline because I have too many other responsibilities and do not have the bandwidth
Recently, I was given my 2013 year end evaluation: Top Performer, for my leadership.
So let’s review. The code quality, in my opinion, is the same. We now have three people working on the same code that had been solely my responsibility for ten years. The organization has lost the availability of services from someone able to rally a team to efficiently and effectively resolve very tough issues.
According to my rating, this is viewed as an improvement in my performance.
My shiny top performer rating makes me eligible for a bonus, and a pay increase, and promotions more so than my above average rating of the last handful of years. I can only conclude that leadership is worth more to my company than technical skills. Had I known this, I would have likely altered my career path long ago. It also will have a profound change on the advice I give to new employees that I am asked to mentor.
If you want to increase your salary and advance your career, be a leader.
Does this situation have you scratching your head? Have you ever experienced something similar? Do you think leadership is more valuable than technical skills?
Brought to you courtesy of Brock