Jeez. How do I become the guy that requires 2M to stick around? Are these often irreplaceable programmers or are they typically product management types?
It's more of a time-to-market thing. I've spent years working on distributed systems and sync algorithms, so when the time came to improve our setup to a Google Spanner-like system, it was fairly easy for me to make the changes. From that perspective, my ability to do that right now makes me pretty much irreplaceable at my company.
But I certainly am replaceable, in the sense that any other competent programmer who'd spent as much time as me could presumably be doing what I'm doing. It's just hard to find them. :)