Software engineer's career switch to product manager
My Ordinary Career Story...
I always share this with every PM intern I work with: “People are really skilled these days, with many talents. Careers are long, and the role of a PM is cross-functional and integrative. If you have the chance, try to gain more expertise in different areas while you’re still young.”
Every time I share this, the PM next to me nods vigorously in agreement. She always says she feels there’s a missing piece of the engineering puzzle in her career. Fortunately, I’ve had that experience in my past.
First job: Programmer
Due to past setbacks during my student years, I became more practical in both my studies and future work.
For example, during my final year of university, I chose to intern at the Central Taiwan Science Park.
When looking for part-time work, I prioritized jobs related to information management. Before I even graduated 🎓, I was actively job hunting...
My first job after graduation was as a programmer.
Whatever programming language the company needed, I would learn: ColdFusion, Perl, Java...
I even made extra modifications to some code once, causing the system’s integrated functions to explode 💥.
Time as a Systems Analyst
Since I transitioned from being a programmer, the work shift wasn’t too abrupt.
I enjoyed turning requirements into practical services,
loved working with the team to analyze architectures and discuss solutions.
During this period, I learned how to track issues, maintain code quality, and optimize performance.
Because I worked closely with PMs, I started to understand the PM role from the sidelines.
I remember tagging along with a PM to do market research and user interviews,
which sparked a desire in me to switch to the PM path.
The opportunity to switch
So, I brought up the idea of switching to a PM role with the PM supervisor,
and was rejected ❌.
Since I was still young and hadn’t thought much about career planning, I told myself to focus on my development in engineering.
Not long after, one day a PM supervisor from the back office asked me to switch to being a PM.
I seriously considered: Should I give up my development in engineering? Could I handle the PM job?
The less you know, the more naive you are. I happily accepted the PM role.
The shock and learning of being a PM
Role reversal: from people asking me to write code to me asking others to write code.
Time spent coding was now spent writing documents, which felt like a waste, but on the bright side, I had more time for planning.
The impact of estimating work hours,
and the long, long-term communication learning curve...
The shock of switching role left little time for disappointment, as there was so much to learn and explore:
The core mission of the product and its long-term development plan,
Product operations: managing customer feedback, daily data dashboards,
UI/UX,
Data analysis, understanding algorithms, media theory, proposal presentations, project management...
After continuous learning, I really grew to love the PM role.
I love seeing a product come to life and create value for users.
It allows me to address user problems more upstream.
My engineering background also comes in handy in PM work:
Understanding how systems work, coupled with a PM’s familiarity with business rules, allows for faster debugging with engineering.
Understanding system operations helps in project planning to identify impact scope and feasibility.
Understanding data flows allows better collaboration with data teams to assess feasibility, etc.
Empathizing with engineers: just a few sentences to estimate timelines; the frustration of building features no one uses...
Thoughts on switching role
I’m very fortunate that, while young and naive, I spent a few years as an engineer, which has helped me in this long journey in the software industry (similar to the concept of learning a language as a child).
As for the sweet, sour, bitter, and twisted aspects of the PM role, let’s talk about that another time~