I'm a recruiter. I've known for a long time it drives people nuts that job ads don't have salary, or have a wide salary range. The fact is that many employers don't actually know what they would be willing to pay someone . Until they have met them, assessed them, heard what they salary target is and weighed it up against their skills and experience and calibrated it against the team. The conversation almost always go…
The way it works in most companies that are big enough to have, like, distinct departments for HR and finance, is that teams have staffing budgets that are set out quarterly or annually, and if the team is expanding they will set those numbers to be big enough to cover the cost of the additional headcount they plan to add. Then the HR organization will probably have a compensation policy, which sets out ranges of rates for particular roles by level and geography. So your budget for a role lines up to certain job levels you can afford to hire at.
So by the time you're writing a job description looking for '5 years of react experience, located in NY' or whatever, you're pretty much narrowed in on a salary range that depends on 1) what your HR compensation guide says is the minimum compensation you pay for a level N software developer in that geo, and 2) the absolute maximum of your staffing budget allocated to the role.
If you can't turn that into a salary range for job advertising purposes, you're not a serious business.