I hate to say this, but I do "everything" (exclusions apply - I am not a data scientist, nor would I know what's involved until I get involved). I am not going to say I am a master of x thing, but it is enough for the purpose of scaling, proper architecture / code quality / etc.
Any areas I lack, I am given the time to research into it, provide available options to management, then build it out solo or with a team.
If it's solo, it eventually is handed over to a team once in production or until the next big project comes across my way.
Also, I have spent a lot of time building rapport with important people that it is easy to get things started when multiple teams are involved (eg integration of multiple systems). I guess knowing how to deal with internal politics is another value-add.
Having institutional knowledge - if you were the original designer of a system (or multiple for that matter), you also become more valuable as you know how things work internally.
I have been doing this for more than 15 years.
Most of all, coding is my hobby. I'm extremely passionate about it, and work on projects outside of work (I have a home lab setup that I build things on, for example). I love reading articles on HN, and programming language reddits to discover what's new.
It's useful to know what's out there so when you encounter a problem, you'll have a lightbulb moment and go, "Oh, I remember reading about this.", and start to dive deeper into the subject matter.
Salary progression went like this at various large companies / startups:
- 100k
- 120k
- 140k
- 155k
- 175k
- 200k
- 340k
I have never been at a FAANG company, not a manager, and my time is spent 100% coding (if not on research).
I'm not saying you need to do what I do to command that kind of salary - it will be different for everyone. I'm describing what I think I'm doing to get that amount.