At larger orgs who already have a functional business, yes. Running a 0-1 startup is different. There's barely enough time for senior engineers (usually founders) to build core infrastructure and product - let alone document, onboard, and mentor junior devs.
Agencies and consultancies the best places to learn as a junior IC. Reviews, process, and management are built in and there's a ton of variety. You also get opportunities to try a bunch of different hats before deciding where to specialize.
Absolutely. Startups should not hire junior engineers. They don't have time to teach people until they are a functioning profitable business.
However, I would not encourage learning at an agency or consulting service. The best place to learn by far is at a large corporate company, where you have the time to learn good programming practices, and people to teach you how to do it well. The problem with consulting is that you're always working on a short-term issue, and never learn the value of writing good code for long-term support.
Large corporate will teach you good practices. What it won’t teach you is how to design and build anything, as that will be the purview of seniors and up.
I think the best path for someone starting out is a year or two in a big corporate, then move to something small where you get to do everything. Of course, this seems like a bad thing for big corporates, so they should probably work out how to give devs a better path through their own companies.
Agencies and consultancies the best places to learn as a junior IC. Reviews, process, and management are built in and there's a ton of variety. You also get opportunities to try a bunch of different hats before deciding where to specialize.