There is nothing wrong with being underpaid, but in the long run you want to make sure that it is for a good reason. It is hard to focus on more important things and ignore inequality, because inequality sucks. It doesn't matter how much attachment your have to an area, or what it means for your quality of life to live close to that workplace, when your rent skyrockets. You will most likely move while instead your landlords and their new tenants do whatever they think is important.
Maybe you are prepared for it or found some way to avoid that, but to me the US often just seem fundamentally incompatible with caring about important things without a lot of effort or money to back it up.
So if you started your career at 21 and if you are above average, your salary will grow from 25 to 25 / 37 or even 40. After that, ageism will play a role, so also newer tech that companies would prefer to hire the younger version of you rather than pay you your high salary.
Given that, if you already settle for a low salary and remain content at 21, you'll very quickly get priced out of your neighborhood in Boston (I own a rental unit there in Fenway and know the going rents for 1 BR, 2 BRs), and if you do end up getting married and having kids, your current lifestyle and saving will not be sustainable.
The greatest acceleration of your salary occurs early in your career, but that applies to most careers. The sustained level of your income is dependent on how you progress.
Personally, I think the movement to project management is a Bad Idea for programmers, because we make lousy project managers and they get paid like crap, because PM-ing is considered a "generic" skill that is not IT specific.
Product Management and Architecture roles are paid better because they need the hind/foresight to actually lead the development of a product/service. That skill is pretty much only developed by experience.
So like any industry, your career development will lead to potential income changes. How that reflects your needs as an individual (eg family etc) is up to you.
Though if I ever get close to this the plan isn't to retire just to have total choice of the work I do.
I worked in the Bay Area and currently in Boston. I live in the startup culture.
> Also, being able to save 2/3 of your net salary is... a ludicrously privileged position, underpaid or not.
Yes! We software engineers are lucky. Even when we're underpaid (I'm paid $90k and my friends with similar experience, same education, same interest/skills are paid $150k--$250k) we can afford to have a comfortable life. It seems like I won't be able to afford to buy a house any time soon compared to say a Google engineer making $300k a year, but that's the only disadvantage I can think of now. (I hate mortgage and what not)