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.
What is a Self-Taught Developer?
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?
Self-Taught vs. Not
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?
Proposing a Better Label: Community-Taught Developer
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.
Am I Bitter?
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.
Oldest comments (7)
This is definitely something I thought about while writing the article. My father had a similar learning experience throughout his career. I would say that people like this are more truly self-taught than most people today.
Learning your way around technologies "back then" was definitely a feat and I respect the effort it must have taken. Hope this article did not imply otherwise.
About 12 years ago, I went to the book store and bought a book that was basically a huge tutorial on how to make an ecommerce shop with PHP and MySQL. Times change so quickly.
Well self education means that you are putting in the effort to learn which in itself is pretty admirable. It could be content that someone else painstakingly created but still it takes effort to go and learn.
When there are too many people who not only never learn or upskill, but also think there is nothing new to learn in software, I think such active learners must be credited, this could be technical learning, this could also be learning about money, negotiation, human psychology or just entrepreneurship.
I get what you're saying but I feel like this also discredits university and bootcamp students. I can tell you from experience that university students are definitely "putting in the effort to learn," they're just learning from a defined curriculum and being graded and guided by a person who should know better (however, in my experience, professors are often out of touch with what modern professional level programming is like). Just because a student has a mentor and a syllabus doesn't mean they aren't "active learners." Like I said though, I do get what you're saying.
Yes most teachers in academic institutions are out of touch, youtube however gives us much better teachers, so do other online platforms where the material is curated by algorithm, by human feedback et al