I was going to trade school for being an electrician at the same time I was studying on my own for the A+ exam. I'm a pigeon-chested geek, so I'm not anyone's first choice for doing construction, but I worked as an apprentice on sites for 18 months, anyway.
My long term goal was that I liked fixing things, but I suspected that there was more money in fixing computers. It's true that the trades don't get nearly enough respect. Blue collar work is often a bad deal. You pretty only get paid for days you work, almost no vacation and holiday pay, and even with workman's comp, very few blue collar people get to retire on their own terms. Usually only after enough falls from ladders renders them unable to hump it up to the roof any more.
Getting into unions is often pretty tough, too. They do provide better benefits and pay, but they do so by limiting who they let in, and working by seniority. Which means the lowest on the ladder will get the layoff first. Hence, if you are working as an apprentice during a time of a recession when jobs are cut back, for instance, you can find yourself pretty idle. In other words, you can be good at the work, but still find that the union can't always find a place for you.
I've been doing on-line coding this summer, doing bootcamps and whatnot to get my Python up to speed. Well, I can make a mean Blackjack game at this point. But so what? The difference between learning a language and the next step of doing something with it is a big step. It's definitely something not everyone can do. I've focused on doing sysadmin tasks with Bash and Powershell in the past, but even still, transitioning to being a developer is definitely, definitely not for everyone.