I agree with Udi Dahan’s Thoughts on a career in software development premise that developers will eventually be faced with a management “opportunity” at some point in their career.
It’s too bad that this is usually a “fork in the road” decision. I don’t think companies are necessarily trying to pigeonhole developers, but they certainly have specific roles (with associated job descriptions) they are trying to fill. It makes sense though. For large software projects, being a manager (and probably a scrum master) is a full time job. Put another way, if you try to split your time between being a contributor and a manager, you’ll probably do both jobs poorly.
My advise is to make this type of decision with your eyes open. If you have a management opportunity and it’s something you’re interested in, take it. Treat it like the career change that it is. Get the additional training and improve your skills just like you would be doing if you were learning a new technology. Management isn’t easy. It takes time and work get good at it.
Also, good companies do not pigeonhole technical managers. You will probably have the ability to switch back to a development or architect role as business needs and priorities change in the future. This could mean moving to a different company, but both you and your current employer know this. Switching from management back to a technical track will require yet another skills learning curve and a mindset change.
The way to create a Zigzag career is to go with the flow.
Whether you experience success, failure, or somewhere in between, each one of these transformations involves significant personal and professional growth. Also, no matter what you do always stay at the top of your game: Continuous Learning: 14 Ways to Stay at the Top of Your Profession.