Thursday, April 03, 2014

Transformation from a successful engineer to engineering manager

One of the most difficult career transformations is the transformation from an individual contributor to becoming a manager. For lack of the better term, "Manager" is an often abused term, so I prefer the term "Leader". One of the benefits I have had in my career is that I have had the opportunity to work with several kinds of people and this played a huge part before I embarked on a personal goal to become a "Leader".

So you are an engineer, you already know all the technical difficult would it be to become a "Engineering Manager/Leader". I thought it was easy, with a feeling of "may be I will face the consequences later". It's the classic "Risk vs Reward" Scenario. After a few weeks of being a manager, I said to myself ..... "Holy Guacamole...this is not just being a software engineer". I have to admit, I did some mistakes when I started...but the key is that I kept learning from my mistakes. Let me enlist the key lessons I learnt and challenges I faced during my transformation:
  1. Learn to work with people: This sounds simple in principle, but it is actually the hardest part. You have to learn what stimulates your team and peers, what motivates them, what keeps them happy and what helps in minimizing conflict. You also have to really focus on how their contributions will drive better results. You always need to be their mentor and help in their decision making.
  2. Think Strategically: One of the key challenges I faced was how not to think/act like an engineer. This is incredibly hard because you have to force yourself to think out-of-the-box. The ability to innately and critically challenge decisions, viewpoints, problem domains and handle ambiguous data is what differentiates a manager from an engineer. From a management perspective, you need to see what business transformation can be achieved from your role and gather the best data to make it happen, present it to the executive/leadership team, engage them in your vision and then execute.
  3. Attend Relevant Meetings: A huge downside of being a manager/leader is you have to attend  a lot of meetings. An important lesson I learned is that I have to only attend the meetings that I can contribute or I learn something from. I also recommend you to not attend meetings without a "clear agenda" or "your role is not clear".
  4. Remain Technically Relevant: You cannot keep coding(as much as you would like to), learn to live with it. I quickly learnt that my passion to code cannot exceed more than 20-30% of my time. I did Code Reviews, Design Analysis, Architecture etc but definitely learnt to gradually reduce my intense desire to code.Now that you are no longer coding on a regular basis, it is a challenge to remain technically relevant and keep up with new technologies. 
  5. Find Excellent Mentors: An important ability for every manager to have is becoming a coach for his reports. But who coaches the managers? When you are an engineer, you have a senior engineer or an architect to look up-to? What about management....It is easy to say...look up your manager....he might be your best mentor....he might be not too. Seek out that leader in your company who can transform your thought process, help your decision making skills and give you tough love as you are working hard to prove yourself.
I can go on and on....but hopefully this gave folks an insight on what it takes to make the transformation. Since there is no clear definition of success criteria, all I can say is I have taken the leap and hope to have made a difference in my organizations and also the people around me.