Let's talk about self-taught engineers and self-teaching in general. Honestly.
Introduction/Disclaimer
This post is not about discouraging self-teaching or looking down on it.
The writer has taught himself Swedish all alone with books from the Pirate Bay and now lives in Sweden.
The writer has also taught himself pure mathematics and studied for a second BSc degree while working full time.
The same writer is a programmer and, like all programmers, he has learn most of
his stuff by himself.
In fact, the writer has had way too much self-teaching. And has a first hand experience of
some problems and deficits it can lead to.
And that is why he is very sceptical of the "teach-yourself-a-field" culture.
Being self-taught has always been admired. But the teach-yourself-a-whole-field and college-is-worthless subculture is rather recent.
It has always been common to admire self taught people than formally trained ones. Teaching yourself something indicates passion or innate talent at it, or a combination of both, so most people have always admired self-taught people more. Artists, scientists, polyglots, engineers, including software engineers, IT professionals, all seem more admirable when they are (or are presented as) self-taught compared to when they have received formal training.
But nowadays, and in particular the last decade, the world has seen a new phenomenon. A culture of being encouraged to teach yourself whole fields, even demanding ones, by just using the amenities provided by modern technology (e.g. the internet, or LLMs). You too can become a finance expert, or a software developer, or an AI engineer, by just googling, reading articles, watching youtube videos, and asking chatGPT for help. Or that is what this trend suggests. This trend goes hand-in-hand with claims or at least implications that college is a scam.
In fact, there are tech/finance influencers (I can't think of a better term -these people are the Kim Kardashians of tech/finance) that openly disdain formally educated computer engineers or economists, and go as far as claim that the best are the ones who have *not* received any formal education or training (as if formal education somehow kills your brain cells and deprives you of knowledge and skills).
But is it really probable to teach yourself whole fields and do it well?
Are the ones who did not receive formal training better?
Are universities just a scam?
How much truth is there in such claims?
Before we attempt to answer these questions, we need to make something clear first.
University graduates are essentially self-taught with supervision and testing.
This is something very well known to everyone who has studied at a university.
Many people without degrees seem to think of having a college degree and any formal education in general as the polar opposites of being self-taught, and they have of course in mind the fallacious connotation you may predict: in their mind, if self-taught = talented + passionate, then formally-educated = neither talented nor passionate. A logical fallacy that doesn't really stand much scrutiny.
It doesn't seem to occur to these people that someone may choose to get a formal and more complete education on something they have a passion for, or something they are already good at. Many math geniuses proceed to get a formal education in mathematics. This is not because the lack mathematical thinking skills and need them, but the exact opposite: they want to broaden their skills and deepen their knowledge in mathematics, because they are very good at it.
Then there is something else:
University professors don't shove knowledge and skills up your brain through your nose.
The university students get their knowledge essentially alone. There are universities
where active class attendance is not even obligatory. I can name as an example the University of Thessaly in Greece, where I did my second BSc (Mathematics) while working full time 3000km away. I never attended a single lecture, and only used notes by the professors along with books I downloaded.
University students get the knowledge required for their degree literally by teaching it to themselves. They only attend courses to get an idea of how to continue, and to ask questions if needed.
But being self-taught at the university has some pros that other self-taught people lack.
To begin with, university students get some proper examinations and testing to see if you actually got any knowledge. Self-taught tech/finance bros don't.
Theoretically you can do online tests, but most of them are childish and easy to cheat on. And guess what: a university student can also do the same online tests. Even if there somehow pops up a magical website with the toughest tech/finance exams and a sure way not to cheat, there is nothing that hinders university students from using it. Don't listen to the tech/finance Kim Kardashians that tell you university students are suckers that use only their university's "obsolete" material. They don't. They have the same access to your online sources as you, and have access to even better material via their libraries too.
But this is not the only pro of university students.
When studying at a university, you don't get to skip whole chapters or classes you deem as unimportant. When teaching yourself at home, and since you have no professional experience on your target field, you are likely to underestimate the importance of parts of it and only do some basic reading or skip them altogether.
This is not something you can do at the university.
When I was a 18yo studying for my first BSc in Computer Engineering, I saw studying about the 8086 processor as outdated, obscure, and needless. It was only later, when I happened to do some low-level programming, that I understood how useful and essential knowledge it was to know how the 8086 worked. If it was up to me, I would have skipped this knowledge entirely back then, but my university did not allow me to. Thankfully.
You can bet most informally self-taught tech/finance bros have skipped entire chapters of their field of interest because they deemed it as not important enough, and even if a percentage of them did not skip a thing, there is no guarantee that they actually learned something from the material because no one tested them.
Last but not least, unsupervised study can -and will- give you the delusion you know things you don't really know. When I was teaching myself Swedish, I used a really painful method: I translated Swedish texts in Greek and re-translated them to Swedish some days afterwards. I then compared my translation to the original text and wrote down my mistakes. This was very strong and effective, but far from perfect without supervision: I ended up believing stupid things like that I knew all the past tenses, including the irregular ones. It took some time for me to realize that many of my past tenses were wrong, and I had to relearn them. This would not have happened if I learned with some supervision.
Now that we have made clear that university students are essentially self-taught and better taught than others thanks to being supervised and not being able to skip what they find unimportant, we can mention something else.
It is no coincidence that the teach-yourself-whole-fields-and-fuck-universities subculture is predominantly US-based.
Most if not all tech/finance Kim Kardashians I am aware of are US-based, and even the ones who are not, are heavily influenced by the US "hustling" culture (a cancerous culture that can never be dissed enough). Their followers are also mostly from the US or other countries with expensive universities, like India.
There are two reasons for this.
First and foremost the absurdly high costs of US (or Indian etc) universities. I will not bother elaborate, because the whole internet has been doing so all the time. Studying should be viewed as a collective investment for a better future, and be free (aka tax-funded) like in the EU where I live.
And secondly: workers that lack formal education are cheaper. Many if not most corporations would love to hire good self-taught developers or finance analysts, because they can only ever claim a fraction of the wage a formally educated person will.
In a corporation-controlled country like the US, informally self-taught engineers and finance analysts (or "analysts") have higher chances of getting a job than in countries that "hustle" less, and possibly better odds than university freshmen: they simply are cheaper. And as for mistakes like bugs in the code... well, no one works alone, and everything can most often be fixed afterwards without really costing the company much.
Theoretically.
Because in practice, the king of tech influencers and Kim Kardashian of tech, Elon Musk, realized that most informally self-taught engineers aren't really competent, whereas university self-taught ones are expensive. So, his puppets told him eeeeerhm I mean, his amazing ultra bultra super duper deka mega superhuman innovative gigabrain came up all alone with the innovative plan of importing formally educated engineers from abroad. They both have the skills, and don't claim decent wages.
This fact alone reveals a lot about how much unsupervised self-teaching works most of the time. If it works equally well or even better than studying at the university, wouldn't the Kim Kardashian of tech hire those self-taught tech bros instead of importing qualified ones from abroad?
The actual question: are software/AI engineers who lack formal education, on average, really good?
We have clarified that even the university graduates are in essence self-taught.
They spent way more time studying themselves than attending classes, without being able to skip material they deem unimportant. And especially when it comes to software/AI, you learn the most of it by writing code yourself, so all software/AI engineers are self-taught.
We also have some very strong facts to proceed with. For instance, that the whole teach-yourself-a-whole-field culture thrives where educated employees cost much because their education also costed way too much, and corporations want cheap employees. Or the fact that even Kim Kardashians of tech like Elon Musk, who openly disdain higher education, still prefer importing foreigners with a degree than hiring unsupervised self-taught developers, because those both are actually good and don't cost much.
We can now ponder the question: are software/AI engineers who lack formal education actually as good as the teach-yourself-whole-fields subculture claims they are? A kind reminder here, that many tech/finance Kim Kardashians go as far as to claim that the engineers lacking any formal education or training are often superior to the ones who got one. Are the engineers with no education, on average, really good?
It may come as a disappointment to some readers, but the answer seems to be a resounding no.
I won't go on with my personal experiences. I could narrate for days for informally self-taught developers that were terrible or at best just decent. I have, of course, met exceptions including an amazing developer I knew that had studied biology. But most self-taught developers I have worked with were far from amazing, even if they often could do the job. The best developers I have met, including a phenomenal one at my previous team, had received a formal education too. But our personal experience often deceives us with confirmation biases and availability heuristics.
Instead, I will point out that formally educated software/AI developers have spent a whole lot of time studying about algorithms and structures, concurrency, operating systems, compilers, networks, databases, and underlying mathematics (especially when it comes to AI), whereas many if not most developers with no formal education have skipped entire chapters to jump to the coding part.
Yes, there are exceptions, but don't bet that the average informally self-taught engineer has a deeper knowledge of computers than the average university self-taught engineer. There is way too much to learn about computers and it takes an insane amount of time to learn it all.
It is unrealistic for most people to get this knowledge at their spare time. Dedicated studies are required for this, and you can bet a university student has done more dedicated study than an ex McDonalds sweeper (no offence) who decided to follow the tech bro advice and "just learned to code". Yes, statistically speaking, there are ex McDonalds sweepers that actually learned such stuff equally well or better than university students, but don't bet they are the rule.
One can object that most of this deeper knowledge is useless in everyday worklife. But so is all knowledge too. And then you encounter the edge cases where "useless" knowledge actually becomes useful. Elitist as it may sound, "useless" knowledge is what distinguishes an engineer from a monkey with a screwdriver. Perhaps no deep knowledge is required to do some debugging or "get the work done" for a new feature, but the ones possessing it may be more likely to do some good handling of edge cases or be good code architects, than the ones lacking it.
The most eye-gauging example of monkeys with screwdrivers is some AI "engineers" who don't know the mathematics behind the models. Yes, this knowledge is mostly academic and most of the time is unnecessary, but seriously, do you even know anything about AI if you know nothing about the underlying maths? What is your expertise then? Creative copy-pasting Python scripts? Sorry not sorry, but these people are as far away from being engineers, as AI "artists" are from being artists.
Does one need to attend college in order to become a software or AI engineer then?
No. Our field is not standarized at all, so literally anyone willing to become a part of it can acquire the knowledge, or at least some of it, and get a job with a good portfolio or by knowing the right people. Especially when it is easy to pass yourself as an expert by talking fast and throwing jargon and buzzwords at a high frequency. In fact, a lot of developers only got to get experience thanks to the idiocy of their interviewers.
The real question is whether you need to attend college in order to become a good software or AI engineer. The anwer is still no, because you theoritically can acquire the necessary knowledge yourself.
But can is not a synonym to will.
Most completely self-taught engineers have skipped important chapters of the knowledge needed to become a good engineer, and we collectively experience the results at our workplaces. Cowboy code (ok, everyone does that), cowboy architecture, security holes, complex code for simple things, messy databases, obvious bugs that go unnoticed. You can bet that all of these would only exist at a fraction of their current prevalence if all self-learners were serious self-learners. But most are not, and that why we have universities: to make sure you don't skip chapters and that your skills are tested by someone first.
Don't fall for the everyone-can-teach-themselves-a-whole-field subculture, especially if you work at HR.