I don’t recall where I’ve read about this before, but as a software developer, I don’t think that being offered a management position is a promotion. It is a different job that requires different skills, and is lateral at best.
I realized when I started developing software that I will not be happy if I get put in a position where I am no longer programming. Since then, I’ve watched a lead programmer get promoted to software manager. And he does anything but program. He is a Scrum Master, IT Manager, Networking liaison, Implementation Specialist, Release Manager, Assistant to the CEO, and overall slave to whatever roles need to be filled when it comes to anything hardware, software, networking, or project management related. That is not what I signed up for.
Now, these are all roles that need to be filled. But, they should be filled appropriately by those who want to excel in a needed category. This is where devops positions fall into play. I could see some of these positions filling the gaps that are needed to fulfill some of our current “software management” duties. If not naturally by interested current team members, then by seeking out one or more people to hire.
As long as I continue to get paid for my software development, architecting, and problem solving skills, as they are and as they continue to grow, I will be happy regardless of my title.
I think that the next step up promotion wise would be Software Architect, but my feelings about titles veer me clear from this. It is a title that should fit the title of all software developers at any level, but relative to the level of where they are at in software development. Architecting is just a part of everyday software development. Developers should be mentored into making wise architectural decisions. They should also be reading about architecture, and learning best practices and alternative best practices.
Ultimately, the rank of a software developer will be obvious to team members, and respect will naturally be given where due. This is all the more reason to stay up to date and practiced with the most up to date concepts. Your opinions of those concepts will gain even more respect as the knowledge of your alternatives multiply. If not, at least confidence in your own opinions will.
If you would like more money for the advancement and application of your skills as opposed to being promoted out of what you enjoy doing most, then do your research and make your case. Research salaries for your location for positions that describe what you have been doing. Give examples of how you have been doing those things and doing them well. Do your homework, and come to your boss prepared.
Finally, make sure that you are actively seeking out needs for improvement and coming up with possible solutions to fulfill those needs. Whether it be development itself, or the process that surrounds it, there is always room for improvement. Start with how you can improve yourself. How can you add value and be the example that other developers need? Prove your solutions by showing them in action. Earn the respect and backing needed by your teammates to have a successful relationship with them, and ultimately a successful team. Learn how to earn support from management to bring new ideas to fruition. Even if they are rejected, the fact that you are trying is going to show. Your value added will show up in your paycheck, even if you have to ask for it. If not, then you can always consider looking elsewhere.