Keep in mind these are US averages that fall into the budget range. Notice that the salary distributions are quite bottom-heavy and there is a steep drop off in the numbers of people paid in the “competitive” range (hence, “competitive” — as in more competition for more qualified employees and more desirable jobs).
Average salary for a generic “Senior Software Engineer” is about $130k.
There are lots of other corroborating sources you can Google for, as well as sources that will tell you “average salaries” on the low end of these numbers. What you need to keep in mind is that half of all software developers have fewer than five year’s experience, and most jobs will accept people with 3+ or even less as “senior” as long as they have great skills. This skews industry averages towards the low-end and gives cheap or uninformed hiring managers an excuse to underpay.
I’ve defined “senior” as somebody who has 3+ and great skills. My definition is a little more strict than is reflected in the general market in order to make better recommendations to hiring managers as to 1. How to draw salary lines more fairly, and 2. How to get great value for money (which sometimes means paying better because we’re selecting more qualified talent for the role — simply having the years is not enough).
Remote jobs can get away with paying in the budget ranges and retain better because remote jobs are highly desirable and competitive.