I know you're a proficient developer (to say the least) so maybe a clear perspective is a benefit: programming for a living is damn hard :) especially if you're almost starting from scratch suggesting node.js as a career path could be a sort of nightmare for a newcomer.
I'd suggest your friends to get their hands dirty with a popular open source project and getting involved in a software company doing technical support. E.g. apply at one of the many WordPress plugin/theme development companies (or any other popular open source consumer platform out there)
I suggest this in particular because such PHP projects are usually well manageable on the technical side once you get the grip.
This does not involve programming at the start, but could very well be a "first step" into the IT world, and as paid by the hour could also be a side project.
Then, as time goes on, if the passion kicks in they can learn all the inside out of the things they're doing support for, and start from there towards working on development itself, or going solo and try building their own software project on the side.
As a dev for various software projects I saw some other support staff members grow their knowledge over time and in the end contribute to the project as developers themselves, also as a consequence growing their income.
This is great advice, I think. Wordpress and Drupal are both growing very fast. They are easier for beginners to get involved with than a language like node.js, because the beginner is not starting from a blank screen. The software provides a structured and documented API for them to learn from.
And especially in Drupal, there is a lot that you can do without writing a single line of code, just by installing and configuring modules. This is often called "site building" expertise, or sometimes a junior "developer" (despite the near-lack of actual development). And there is actually demand for it, because real developers find that work tedious and boring; but it is a huge part of building almost any Drupal website.
The way to get involved is to find local meetups and start chatting people up. I know of at least a few people in the DC area who went from nontechnical jobs to senior Drupal developers making 6 figures this way--just showing up every time, working on volunteer stuff, and eventually getting some contract work or an entry-level position. From that point it's all about hard work and delivering.
I wholeheartedly agree with this sentiment, and while it's just one data point, building a career in software developing without formal training or education is what I have been doing for a few years now.
Anecdotally: I attempted to get into a degree program in CS from my local university after having taken the required prerequisites, and getting mediocre grades in those classes, and was rejected. So I resolved to keep studying on my own, get Tech Support jobs and learn on the job, and keep applying to programming positions.
I worked two fairly low-level tech support jobs before I applied (internally) and was hired on as a junior level programmer. It was only for about six months, until a new CTO canned me, after which I spent about a month getting hammered with job offers and recruiters' emails, then went with a great smaller company I'm currently working for.
Furthermore, I fully submit that those who have a real passion for the work of programming, who get a buzz from figuring out how the small problems they're tackling aggregate into the kinds of large, effective systems that make companies run these days, those people will do very well. If the original poster's friends are motivated mostly by getting a good-paying job with some job security, but don't derive much satisfaction from the work itself, it will likely burn them out in no time.
Thanks for your advice, I agree with you, it is super important to stay pragmatic. Maybe this can be just a starting point and it is possible to evolve and build their own stuff, learn new languages, but to start ASAP with something simple enough, and with something that have an economic model, is the key. Thanks!
I'd suggest your friends to get their hands dirty with a popular open source project and getting involved in a software company doing technical support. E.g. apply at one of the many WordPress plugin/theme development companies (or any other popular open source consumer platform out there)
I suggest this in particular because such PHP projects are usually well manageable on the technical side once you get the grip. This does not involve programming at the start, but could very well be a "first step" into the IT world, and as paid by the hour could also be a side project.
Then, as time goes on, if the passion kicks in they can learn all the inside out of the things they're doing support for, and start from there towards working on development itself, or going solo and try building their own software project on the side.
As a dev for various software projects I saw some other support staff members grow their knowledge over time and in the end contribute to the project as developers themselves, also as a consequence growing their income.