Self-taught to start with, but I did eventually go to a community college (which does have a trade school and gives certificates in "Computer Programming") and then transferred to a University.
Most of the stuff you need to know to be good, and I mean really good, not just a code-monkey who can bang-out scripts that superficially do a lot but aren't well-architected, you can learn from books.
The problem is people lack discipline and don't always absorb lessons from text, they just memorize statements.
>>1057982
There is nothing wrong with trade school, although for computing it's pretty worthless. You basically get a "Certified Pajeet" paper for your trouble. You might be able to use it to find work as a WebDev, but a lot of those guys have "certificates" that aren't even accredited from programs far sketchier than a trade school, so that's not saying much.
I recommend picking a couple languages, at least one on the Top 10 of StackOverflow or some other site, and then dedicating yourself to them. For optimal practicality, you probably want on systematic language (C derivative, including C++, Java, C#, Rust (lol), something that compiles and has Objects is optimal) and a scripting language.
C++ and Python is a killer combo.
Maintaining a github or gitlab is good for building a portfolio.
The main benefit to attending a university (or even a community college) is the chance to join clubs, meet people who will also go into the industry, and find internships. Exiting with job experience will give you a big leg-up over others.
Trade schools are normally good at this because you can't become a "true" carpenter or whatever without being an apprentice first.
But for programming this is not how it works.
Maybe it should be, but it isn't.
Pick a language... a mature one (so NOT Rust, that was a joke) and I can recommend books to read.