The Self-Taught Developer's Dilemma: Overcoming Knowledge Gaps
As most of you know, I'm a self-taught developer. I always mention this- not to brag, but rather as a disclaimer, and maybe, just maybe... to earn a little bit of sympathy for my shortcomings. Driven by curiosity, I've acquired most of my knowledge through online courses, tutorials, articles, and a lot of trial and error. Whenever I delve into a subject, I take a hands-on approach: breaking it down into its smallest parts, building from scratch, and trying to learn as much as I can about it. However, I recently had a humbling experience that made me appreciate the importance of formal, or at least structured, education.
I was watching a video where Mark Zuckerberg discussed their LLaMA model, and at some point he mentioned 4.5 billion parameters. I know what parameters are, so I had an idea what he meant, but much of it sounded like Greek to me. Like, I can understand say, 100 or even a thousand parameters, but how does it then get to a billion? Do they count or just make educated guesses? Determined to understand, I did some research and soon realized that much of it was familiar to me, yet felt foreign due to my learning approach and development style.
Being self-taught means my focus is usually outcome-driven; I care more about whether something works rather than the intricacies of testing and performance. I may be downplaying how thorough I am here, but I'm sure you get the point.
Many people boast about learning their skills on "the streets", through "the school of hard knocks". While that’s admirable, formal education teaches those little things that might seem useless but are foundational. For instance, I've seen many memes which mock the education system for teaching about the anatomy of a locust, but this seemingly trivial knowledge lays the groundwork for more advanced learning.
![]() |
A teacher drawing a labelled diagram of a locust |
Listening to other programmers, I often hear them throw around terms and phrases that make me wonder where they learnt that stuff... like I skipped a day at school or something. Its funny how the stuff you don't know, always sounds cooler and more advanced when someone else says it. So whenever this happens, it often leads me to take online courses or tutorials to bridge gaps in my knowledge.
While being self-taught provides adaptability and resourcefulness, formal education offers essential foundational concepts. Ironically, even as a self-taught developer, I often eventually reach the same conclusions as those with formal education—just through a more circuitous and less efficient path. So why not just take the course? It's faster... plus it helps me write better code and meet industry standards. At some point, I used to give my variables names like 'guld' instead of 'getUserLoginDetails', and since I don't have an elephant's memory, it always backfired. Imagine staring at my code 6 months later and asking myself, "What does 'guld' even mean?" Soon, my team will be growing, and I guarantee that they'll be grateful for these little efforts I've made to learn.
This experience has given me a newfound appreciation for the value of formal education in programming and the importance of continuous learning. I've made a conscious effort to streamline my knowledge, and it's paid off. I read extensively, and thanks to these new AI chatbots, I've been able to accelerate my learning journey. Now certified as a full-stack developer, I've seen my confidence grow with each new project. But what's even more surprising is – I'm now exploring this whole deep learning ish, something that once seemed daunting and inaccessible.
As I embark on my most ambitious endeavor yet – building the world's first true AGI – I'm acutely aware that this journey will push the boundaries of what's currently possible. The road ahead will be challenging, but I'm eager to take on the complexities of creating a true cognitive companion. Let's explore the future of AI together!
Comments