Knowing the cost of living on both coasts in large cities, and wanting to be close to my midwest family, I really badly wanted a job in a techie midwest place. Pittsburgh and Minneapolis were the top choices, but I also considered everything I could in Chicago, Madison, Dayton, Ann Arbor, Detroit, Grand Rapids, and a handful of other one-offs.
I have to say I was so thoroughly disappointed by the types of jobs and job offers, particularly salary and compensation -- even adjusting for cost of living -- that it was just not doable.
The companies were pitching the same cramped, over-crowded "collaborative" open offices despite private office space being so much cheaper. The salaries were genuinely around half of what they are in Boston and New York for similar work, probably less than half compared with SF. It seemed that bonuses and significant equity compensation were also pared down.
In the end, I took a new job in New York and decided that living with any of the perfectly workable strategies to reduce cost of living here (mainly, live with roommates however you must to have a short commute) was absolutely worth it to make 2x salary, greater bonus potential, and greater equity, and, realistically, greater chances at career growth.
Don't get me wrong. I actively didn't want this choice and wanted the comfort of Pittsburgh, the possibility of actual home ownership, more private space (except that damn open plan office man), and easy drive to my extended family.
It was just not exonomically attractive to pay the cost of earning roughly 40% of the conpensation for this, especially compounded. Maybe if I am lucky to rise to a senior position in the future and can transfer with less of a pay cut, it would be good.
To put some numbers on it, I am an ML engineer, somewhere between midlevel and senior with about 6 years of experience and a graduate degree, and I was looking for non-management and non-research-focused ML engineering roles across companies like (formerly) Silicon Graphics, Uber, DuoLingo, Google, random start-ups, some finance and insurance firms in Chicago, and PNC Bank outside of Cleveland.
I earned just under 200k at my most recent long-term role in Boston prior to my current role in NYC, not including cash bonus and equity.
The best offer I found out of all the midwest searching was in Minneapolis, at 130k with small anount of equity and no bonus. Every other company suggested that, for their area, pushing 100k was the best they could do.
I've lived in the midwest a lot, and I know that financially, 220k - 250k plus career growth in NYC is probably better, in pure earnings terms, than say 120k in Pittsburgh. Obviously other considerations could make a midwestern city attractive despite lower earnings, but the gap was big enough for me that I decided the cramped city rat race will have to do for now.
My general feeling was that a lot of the new focus on the midwest as a tech job region was more or less a rebranding event, trying to rebrand jobs to enable companies to pay lower salaries and reduced compensation for the same value proposition from the engineer, even after adjusting for cost of living.