"Companies have been hiring tons of inexperienced devs throughout the late '90s and early '00s, and they have been hurt badly by it."
Hiring "junior devs" and "hiring inexperienced devs" can be a world apart.
Hiring someone for position X who turns out to be inexperienced is not the same as explicitly hiring a junior developer with the intent of training them up.
I've seen a lot of the former, but not much of the latter. The two ideas get conflated quite often, but in reality are different and the latter takes a bigger commitment of resources.
"So nowadays, smart companies build their team around seniors, and only then start hiring juniors one at a time."
5-10 years from now, the conventional wisdom will probably be different. Sr devs might be more willing to leave, and if there are fewer of them, a larger percentage of your company knowledge, culture and IP resources go with them.
Hiring "junior devs" and "hiring inexperienced devs" can be a world apart.
Hiring someone for position X who turns out to be inexperienced is not the same as explicitly hiring a junior developer with the intent of training them up.
I've seen a lot of the former, but not much of the latter. The two ideas get conflated quite often, but in reality are different and the latter takes a bigger commitment of resources.
"So nowadays, smart companies build their team around seniors, and only then start hiring juniors one at a time."
5-10 years from now, the conventional wisdom will probably be different. Sr devs might be more willing to leave, and if there are fewer of them, a larger percentage of your company knowledge, culture and IP resources go with them.