I mean yeah, you were operating in a different talent market. If you are a U.S. based company it's going to be very hard to get high quality talent out of university as a rando company with median pay. If you are in Europe then it's a lot easier because there is less competition.
> all good tech talent is immediately already in the "amazing" companies as soon as they graduate
Yes, there are going to be missed gems, but if you're looking to hire without going through a couple hundred bad candidates (not even an exaggeration) to find gems you need to stand out as a company.
If you think about this from the employer perspective, there's no signal to go on to find these gems: people with decent, but not incredible grades, no prior internship history, bog standard side projects, etc. Now imagine those resumes are mixed in with a bunch of people with 0 side projects or work experience, subpar grades in core CS classes, etc. What do you filter on? What's your signal for hiring?
I don't know a single person from my college days who I'd describe as a strong performer that would have taken a job from a random startup (i.e. no name recognition of founders or investors) for subpar pay. The people who ended up working at these no-name companies with subpar pay were almost always 1x or 0.5x programmers, whereas many of the people I knew who got A/A+ in OS and compiler classes were easily 10x programmers capable of building complex products from scratch.
Not saying we don't need 1x programmers but if you're a startup I think paying 3x salary for a 10x programmer is a much better deal than hiring 3 1x programmers.