Which path to choose after spending 5+ years as a developer in product based company??
What are the factors to consider or questions to ask myself before choosing the path??
Great question! First, it's important to clarify your motivations. There are clear ways to grow your skills, make a bigger impact, and increase your compensation both as an IC or as a manager. I often hear people interested in management because they think it's the only way to advance in their career. That's misguided, and most good companies provide a path for ICs to continue growing. Forcing people into management is an example of the Peter Principle.
As an IC, your main contributions will be technology. As you grow, you will be responsible for driving projects of increasing complexity that make a bigger impact on the company. You'll need to think strategically to find opportunities to improve the business, and you'll need great communication and project management skills to get things done. This is a great role if you like building products and learning new technologies.
As a manager, you're responsible for work that you won't be doing yourself. This is a different paradigm. Being a great technologist is table stakes, and leadership skills will set you apart. You'll need to motivate and coach people to improve their work; hire and retain great talent; and have tough conversations about job performance. You'll also need to make decisions about what to build and provide direction to the team. Your performance is directly correlated to how much value you can deliver with your team. To be successful, you need to define the work, delegate it, supervise it, and change people's performance if the bar isn't being met. There are many side effects of this different role, such as managers often having more meetings than ICs.
Since management is so different than IC work, I suggest prototyping it before committing to it. You can do this by managing an intern for a summer, or being a tech lead for a 1-2 quarter long project.
+1 to Sanjay's answer to understanding your motivation. Look at your schedule for the past month and figure out what days did you enjoy the most? What did you enjoy least?
At the end of the day, you should mold your career path around what you're genuinely passionate about so you can pursue it long term (and not burn out). The growth prospects between EM and IC will vary based on the economy:
This is why I consider the 2 paths equal: It'll balance out long-term. And at the end of the day, it doesn't matter how helpful the macro is if you're doing something you don't enjoy. If you go into management track purely because it seems better for level/money and you don't genuinely like it, you'll just suck at it and stagnate (and achieve less growth than staying as IC).
This means that you need to do some soul-searching to figure out if engineering IC-work or fostering people resonates more with you. My recommendation is to take on some mentorship responsibilities and see how it goes. Since you're a senior engineer, I'm sure junior/mid-level engineers would welcome a recurring 1 on 1 with you. And if you want something more lightweight, take on an intern.
There's a lot of good resources in the Taro Top 10 playlist Rahul linked, but if you're stretched for time, I highly recommend watching this one: [Masterclass] What Software Engineers Should Look For In Their Engineering Manager