If you hang out in software development spaces online long enough, you’ll start to notice there’s a notion of “self-taught” developers. I think it’s time to rethink that label.
Before I talk about why I disagree the concept of developers being self-taught, let me first introduce the characteristics most often associated with the label. It’s best to start by talking about what a self-taught developer is not.
The term self-taught developer is used to describe developers who did not learn their skills from someone else. The following people are typically not considered self-taught:
- College students/graduates
- Coding bootcamp graduates
- Someone who was trained on the job
This implies that the only people who have the supposed right to call themselves self-taught developers are people who picked up their skills by setting out on their own, reading articles, watching videos, digging through documentation, or asking questions online.
But wait, what’s the difference?
On the surface, it seems like the differentiating factor between self-taught developers and developers who aren’t is the presence of someone else doing the teaching. Linguistically, this makes sense, you’re self-taught because you looked up all the information on your own.
However, the sources from which a self-taught person gets this information is produced by other people. There are scores of people online writing articles, answering questions, and sharing code, free to be consumed by anyone with an internet connection.
Why aren’t internet content creators considered teachers? Why does learning Python from a blogger preserve a person’s self-taught label, but learning Python from a professor does not?
You may be wondering why I care about this. After all, the label isn’t hurting anyone, and it is indeed harder to navigate the programming world on your own; why rob people who figured it out the distinction of calling themselves self-taught?
I don’t actually want to trivialize the effort required to figure out the programming world with minimal direction. However, a person can learn nearly everything they need to know to be a professional developer from online content produced by many people freely writing articles, making videos, and answering questions on Stack Overflow and other websites.
The entire community of software developers, over time, have produced a giant corpus of software engineering knowledge. Any time you read language documentation, watch a YouTube video, or read a how-to article about something related to programming, you are consuming the knowledge of the software development community. I believe the concept of “self-taught” developers discredits that community, or at least makes it seem less important than it is.
In this way, I believe that most people who call themselves self-taught developers could more accurately describe themselves as “community-taught” developers. This title still indicates that the learner took on most of the initiative to figure out a learning path for themselves, but it also honors the cumulative efforts of the larger community.
You may be thinking I’m biased and/or bitter about the idea of people calling themselves self-taught developers because I myself am a university-educated developer. Furthermore, I’m one of those bloggers I was just talking about. Am I just looking for my own kudos? Am I jealous of the self-taught label?
Perhaps, but consider my learning path and how I arrived at these thoughts about giving credit to the community for my own competence.
I learned C++ from this website before I ever took a computer-based class in college. I read every word and did all the exercises. Whenever I was stuck, I typed my problem into a search engine and found an answer, usually on Stack Overflow.
I did all of this on my own, but I don’t feel right calling that “self teaching.” The authors of that website put in countless hours to create a comprehensive and well-written tutorial. Likewise, the people answering questions on Stack Overflow are not usually gaining anything from doing so. Without them, I never would have gotten as far as I did in this field. Calling myself self-taught, I believe, trivializes their efforts.
It’s still a monumental task to take on the responsibility of learning everything you need to know about software development on your own. This article wasn’t intended to minimize those efforts. However, the greater community of developers, writers, and OSS maintainers that put in time to share their knowledge deserve some of the credit, hence why I propose a new title: community-taught developers.