Learning to code. How should one go about it? In popular culture there exists a certain trope of the child genius programmer who was really into computers at the age of 8, learned his (it’s almost inevitably a “he”) first programming language at 10, hacked into his middle school network at 14, and started a successful app that received two rounds of VC funding at 17. This continues the age-old idea of the “child prodigy” (see, for example, Mozart) who is born with an innate ability to do something that most adults cannot even fathom learning to do even after months and months of training.
So, should you, the aspiring developer, pursue the path of autodidacticism (self-learning), which has proved to be remarkably successful for many of today’s most celebrated founders of tech companies? Despite the wonderful proliferation of free guides, ebooks, and great resources such as Stack Overflow and countless other help forums to aid one’s effort to self-educate, I believe the answer should be “kinda” or “sorta” for a very large percentage of people serious about learning programming. Why is that, you might ask? Read on...
As millennia of humans have come to know, the process of learning how to do things—whether it be making a fire, harvesting a crop, playing the violin, or writing beautiful code—is greatly accelerated when a knowledgeable, empathetic expert is serving as one’s guide. In addition to the opportunity to receive expert advice, there are many other advantages that are leveraged when learning in a group setting. Any school worth its salt will have a proven curriculum that’s been designed, tested repeatedly, and modified where necessary that provides the foundational knowledge that any aspiring professional needs to possess. The social aspect of group learning should not be discounted either—successful universities and trade schools generally foster an atmosphere where students feed off of each other, help each other when things get confusing, push each other to greater heights, and, perhaps most importantly, make memorizing a hundred different necessary things seem less boring just by their presence.
So, then why am I advocating for autodidacticism on a “kinda” or “sorta” basis? I think the answer can be found around 9:30 in this video from Dev Bootcamp, a program which I am currently attending. In American education today (and, to be fair, in education all over to the world) there is a strong “consumer mentality,” not only in the basic terms of “I invested X dollars in my education, so when I go on the job market in four years, I want to see 2x return,” but also in how professors’ lectures are passively consumed by students. However, truly inspired pedagogy should encourage students to adopt a “creator mentality,” that is, to take full ownership of their education, to enter into genuine dialogue with their instructors, and to actively build on the material presented in class by using it as a springboard to pursue their own avenues of thought.
The fact that Dev Bootcamp does so many things culturally that encourage students to adopt a “creator mentality,” such as using the flipped classroom model and having students reflect very directly on the process of learning itself, gives me great confidence the program will provide a truly outstanding environment that will allow me and my fellow students to combine the best parts of autodidacticism and the traditional “disseminator of information” pedagogical model. This is, I think, the recipe for success in all fields of education, not just learning to code, a theory supported by cutting-edge research at the leading schools of education in the US.