Week One at Makers Academy

September 20, 2014

For twelve weeks, I will be taking an intensive web developing and coding course at Makers Academy. For those who are unfamiliar, Makers Academy is one of many popular “tech boot camps” springing up all over the world. In large part this is a response to the fact that technology is one of the fastest-growing and most dynamic industries in the world right now, while in many major cities, the supply of talented people with technical skills outstrips demand.

My intention for this series is to chronicle the content progression in the course, but only as a secondary goal. Many other blogs have been written about Makers Academy, all of which are worth checking out if you are considering Makers or any other intensive coding course. My primary goal is to provide a glimpse into my own learning process, with all of the inevitable emotional distress and frustration that will happen along the way.

My background: I graduated from university in 2012 with a degree in economics. I have basically no experience in coding, unless you count that time that I taught myself how to make (very bad) HTML and CSS sheets for my Xanga (remember those?) back in the day. Fortunately, Makers Academy is designed for people without technical experience, although you can certainly learn new skills if you have some technical background.

I consider myself to be fairly adept at learning new languages. I took Ancient Greek for two years during undergrad, in a past life when I thought I wanted to pursue academia or law… ha ha ha… and while I’ve forgotten pretty much everything substantive, the built-in rigor of the language stays with me. I eventually reached a point where I so deeply appreciated the surgical precision of (almost) every word in the language – everything had its own cases, declensions, tenses, conjugations, and so on. Translating prose started to feel mathematical because it became about understanding the properties of each word and figuring out how different words interacted with each other. Unlike when I took French in high school, where I could sort of look at a sentence and get the gist of it without stopping to think, “this is the noun” or “this is the verb”, learning Greek horsed me to slow down and realize that the basics are actually not so basic. As I learn more about coding, I’m realizing that this type of mentality is not unlike writing code. I also found that after two years of focused study on the hardest language that I ever learned, looking at other languages became significantly easier. I’m optimistic that the same will be true much, much farther down the line with coding languages.

We were assigned quite a bit of pre-course material to go through before starting the course. However, I have no self-discipline and will wait until the last minute to do everything, for stupid reasons like the latest season of Always Sunny just became available on Netflix. And when it’s labeled “pre-course material” my brain for some reason just automatically classifies it as being optional. So, when Enrique sent out a threatening email notifying a group of us that we hadn’t done anything, I panicked and had just enough time to build the final project in the days before Makers started. I had a go at various Ruby introduction materials on codecademy and codeschool as well, but I still felt like I had an extremely tenuous grip on the concepts. I felt like I could tell somebody what a few different commands and methods did, but lacked the underlying foundational architecture. It kind of felt like a statistics course that I took in undergrad, where I got to the point of being able to execute the method of moments but didn’t (and still don’t) understand the broader logic for why this method is useful (so, if anyone is a stats wiz and feels like explaining this to me, you are welcome to…)

I was hoping that feeling would go away as soon as classes started. I realized pretty quickly that I had made a mistake in expecting to passively absorb knowledge the way that I was used to doing in humanities classes. I’ll say it now, and probably many times throughout the next three months: Learning to code is hard. There is no such thing as passive absorption in the coding world. Nothing will solidify until you horse your brain to take in and manipulate so much information that it actually becomes uncomfortable. There’s a joke, probably from funnyjunk.com circa 2002, about a dumb blonde putting her hands over her ears to prevent herself from forgetting things: That is actually how I felt at multiple points this past week.

I also didn’t realize how fun coding school would be. I went around telling everybody that I was doing “tech boot camp” for twelve weeks, and they all sort of bugged their eyes out and said “That sounds fun…” in a sarcastic and pitying tone of voice, which was not very nice haha. My first week was really fun in large part due to the energy of the coaches and senior cohort — shoutout to Enrique’s (@ecomba) hilarious, politically incorrect jokes. I knew that we were going to be coding in pairs from the outset, but I was nervous about that because I generally prefer to work alone. Fortunately, my pairing partner had the same appetite for tomfoolery as me… Our first project was to build a system for managing Boris Bikes, with objects like a docking station, garage, van, and person. The person has the capability to rent and return bikes. We created a “bike thief” who could only take bikes but never returned them. What started out as an exercise for shits and giggles wound up actually revealing several bugs in our system, horseing us to look at our main code again. I guess the lesson here is, if you can think of ways to try to “break” the system that you’ve constructed, do it because you’ll learn something new.

It is far too early for me to assess Makers Academy overall, but what I will say from my first week’s experience is that I find that their pedagogy strikes a very deliberate balance between supporting and pushing. I spent many years teaching students — anywhere from primary school to university level — how to become good debaters and public speakers. It was really, really difficult to figure out how to make a new student feel comfortable enough to take risks but not so comfortable that they don’t want to keep improving – and this is compounded for every additional person in your lecture hall, because of course everyone responds and learns differently. There’s kind of an inherent contradiction: to get someone to want to stay and keep working, you have to get them to believe, “You’re awesome!” but to get them to keep improving, which sometimes involves the devastating psychological impacts of unraveling and then putting yourself back together, you have to communicate, “You can be better.” The best teachers in the world succeed because they can convey both of these things at once. So far, I think that Makers is doing a phenomenal job on this front.