

I agree. The article the article assumes that junior developers are tasked with doing tasks that senior devs will not (such as writing buggy boilerplate or something). That has not been the case with companies I worked at. When we hired a junior developer, we expected them to write the same code as everyone else, just that they would ask for help more often and would get more nit-picky code reviews. An AI could probably outdo a junior developer with a month or two of experience, but with a (junior) developer, the expectation is that if you take the time to explain to them why their code is wrong, they will never make the same mistake again.
I agree with you that it comes down to the state of the economy. Ten years ago, I was at a company that could not hire senior devs fast enough so we had to hire junior devs and mold them into the coders we needed.
Now I am at a company that has had a hiring freeze for several years. All new hires we are getting are back-fill: when we have someone quit, we can request a replacement. Anyone we hire needs to be able to hit the ground running and take over the previous employees responsibilities as soon as possible.
How many Linux distros include micro in their minimal image? Vim, emacs, and nano are good because I can connect to just about any container or Linux VM and expect to have all of them available.
Let’s say I have a test that always passes on my machine but fails in CI. If I can get a terminal on the test runner, I can open up my test code in vim, add extra logging and error handling, and rerun the test to check my fix.
I am not going to install additional editors in a VM that will be recreated next time I push a code change. If I am setting up a development environment for long term use, I will install my favorite IDE and configuring all the bells and whistles.