All of this. Part of what makes someone "senior" is how much time they spend reviewing other people's code, mentoring, etc. The whole cowboy coder thing was a painful stereotype, and never worked in any real organization when it was considered cool, which was a long time ago.
I work at a consulting company now, and one of the best things we've done is institutionalize this process. At a minimum, most people are given someone to guild them through the first week or so as a new hire, whether they are sent directly to a client site or sitting on the bench for a bit. If you want to spend some time outside work, there's user groups for everything, and some night classes in how to fit in at the company, how to be a consultant, etc.
The new one is they're now starting bootcamps during the daytime for all the specialties that have either hired a lot of new folks recently, or have people coming in from other specialties (i.e. developers moving to data projects). This is the crash course in devops, how to use Git, etc. as well as basics of our default way of doing things (some clients have an idea of the tech they want), best practices, etc. You get to meet everyone, and it sets a baseline for all new hires, as well as identifies who is weaker and stronger in what, so we can train accordingly.
As someone who's fostered and helped a lot of junior folks, I wish more places did this to cut down on the shaming people who ramp up slowly or bad work caused by those to ramp up quickly in the wrong direction. As someone who used to be junior, and doesn't change jobs often -- which also leads to being a couple years behind in tech. at times -- I wish orgs would do this for all the reasons mentioned in the original post.
I'm surprised that your company does all that. It sounds great. Actual training during the day for new hires, like on actual company time, and in relevant skills. I'd imagine with job postings like that you don't have a hard time finding people.
I've seen cowboy coding work, but it really requires a few people with some pretty decent skill levels, well, and management skills -- essentially they end up planning internally, so I guess not really true "cowboy coding". It doesn't necessarily mean they can't mentor either, but as a junior person I simply wouldn't recommend joining such a team. Even if you have great people, the pace can be crushing, that overwhelming feeling can be extremely stressful.
I work for a really people-forward company, and they also just don't want consultants showing up on site not knowing the basics of what we're selling as the better solution (we do a lot of legacy upgrades, turning projects agile, etc.). The boot camps are new, but yeah, they do all that. Down side is that it's harder to get "ahead" in that they are picky in hiring to begin with, and then the really hyper-learner and volunteer types just plow through extracurricular activities as opposed to those of us with life commitments.
The flip side is, that "ahead" means more of a management of people/projects/technology leadership stance, and you can do just fine as a higher level worker bee for as long as you'd like without getting the boot.
Anyway, what you describe is a very functional team, and those do work, but agreed they're not great for junior folks. My biggest concern with those sorts of teams is that even when they work well, they often accrue technical debt and make a great product in a short period that is harder to maintain down the line after the innovators do their job and leave. That, or the pace dies at some point if they don't deliver quickly, and you lose people. Again, all bad things if you're a junior.
Good teams for juniors are ones focused on a mix of maintenance and either new products or major new features. You learn what works and doesn't, have people who are knowledgeable to mentor you (as your original piece notes very well) and have time, and get a chance to pick your style and interests.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.