Ok. I’ve done it. Here is how I went about it.
When I was working in the US as a programmer, I realized that most of the coding I was doing did not require a lot of technical chops. For every DSP/Algorithm guy, there were 3 UI/general app developers. I also missed not being in front of customers or not representing a company. I also want to make more important decisions for a business than which data structure to use when coding a particular feature. So.. as you can see, I did not really care for the art of programming and hence I was not very good at it.
I was however, very good with people and in front of customers. So.. I decided to move into a applications engineering position, which put me in front of customers who wanted to license technology from the company I worked for. I did this by:
- Finding people in this role already.
- Doing any project I could do for them – in my spare time
- Finding a hiring manager and impressing my skills on him.
While this put me in front of people, this was still not a real business role. I decided to move back to India and started as a project manager at my current company. I interviewed for a programming position but I was not hired as a programmer, they offered me a program management position instead – luckily they saw something in me that I did not. And, frankly, I was just looking for a job to keep me busy. Moving back to India from the US is hard, especially if you are unable to find a fulfilling job back home.
I spent a lot of time learning in this role and saying “yes” to new things. I socialized over lunch with different team members. I filed bugs and feature requests, which very few program/project managers did and I wrote utilities in java and Konfabulator to track bug stats and shared these with other teams and PM. I also wrote scripts to batch process bugs in our bug data base that saved other program managers a lot of time. I eventually started to manage a team of program managers and new responsibilities kept coming to me. And, I started a customer advocacy program where I set up customer visits for the engineering teams to acquaint them with customer issues.
So… the lessons here are:
- Share freely
- Always be learning
- Default to “yes” than “no”
- Build relationships across teams and geos.
- Expand your role at every opportunity you get
- Present often – stand up in front of a group and present ideas and status often.
Around this time, I felt I was peaking and there was no where else to go. I did not have an MBA from IIM or an engineering degree from IIT and felt that I needed atleast one of these to succeed in India. You know – educational qualifications are the new class system in India. So.. since I was doing well at work and wanted to move into the business side of things, I decided to pursue a part time MBA from IIM Lucknow’s Noida campus. My experiences there are in captured in this blog.
The MBA was great. I learned new skills and developed greater confidence in my ability to analyze data and dissect strategic mumbo jumbo. I also made new friends. Its hard to make friends as you grow older.
I continued in my existing job but was eager to move into product management. All the relationships I had build over the years with colleagues in India and in the US came in handy as when I applied for an internal opportunity in a product that I was project managing. The MBA helped. The connections helped. My experience on the product helped. My experience with the product team and their votes helped. The customer advocacy program helped. The hiring manager in India was supportive once he saw everyone else’s support. The lessons here are:
- Develop business acumen. You dont have to do an MBA but it helps
- Do more than your job demands
- Demonstrate great communication skills.
I’ve been doing this for a while now and I believe that this is the best role for my skillset. Write to me if you have questions.
One thought on “Transitioning to a Product Management role from a software developer”
Thank you Anubhav for sharing your experience, this is really insightful.