|This has been the standard at every software company I've worked at so far.|
There are 2 open positions: Software Engineer, and Project Manager.
The Project Manager position is filled in 2-4 weeks. This person is offered more compensation than the engineers they're managing. Often their skillset appears (to engineers at least) to consist only of the most basic skills required to function in an office environment. The emerging pattern is that the winning candidate is chosen based mostly on their physical presentation, and their ability to "win conversations."
The Software Engineer position is filled in 3 months if we're lucky, and then stays open in perpetuity, because the need for engineers outpaces the company's ability to hire them. We screen thousands of resumes trying to find somebody who's even worth interviewing. We hire a recruiting agency, throw money at Greenhouse, conduct on-site rounds with a 90% fail rate, and pay mid-5-figure finder fees to Triplebyte and Hired.
The Software Engineer has a skillset that is beyond the comprehension of most people, and is so large and varied that some part of it is even beyond the comprehension of their peers and vice-versa. There's often a lifetime of work behind the development of that skillset, since they were in their teens or even earlier, most of it above and beyond any standard educational curriculum.
Software companies would seem to be one of the most (if not the most) extreme examples of supervisors being more replaceable than their direct reports in hiring.
So why are software companies so willing to offer more pay for a managerial role that is easy to hire for, and so unwilling to offer more pay for a technical role that is one of the hardest to hire for? Why does it seem like market forces just don't apply here?