Sunday, March 9, 2014

Epicodus as Disney World

I don't have to try that hard to get the handwriting of a 5-year old


I've never been to Disney World. I grew up in a small town in New Hampshire, and my parents had the push-me-out-the-door in the morning, call-me-in-at-dark approach to entertaining me and my brothers during the summer.


That being said, there are still a few things about Disney World that everyone knows about. These include:
The lines 
The roller-coasters 
The homogenous culture 
As programming students, we can take these familiar concepts of Disney World characteristics and use them as metaphors for learning to code. Let's start with:

Lines




You needn't have been to Disney World to know that the lines are long. And standing in a line for hours on end is not fun. You're frustrated, agitated, and sometimes even angry. You may want to even walk away.

Translation: It is going to take some time for you to actually get on the ride. You are going to have to put in hours of what may appear to be standing around -- i.e. glancing at code that you can't read, reading explanations of methods you can't understand, or solving problems that you haven't the slightest idea where to start. But all of this frustration, trial and error, and even boredom is just a part of learning something new. 

When you're learning to code, don't try to skip standing in line. Sure, it may seem like others are moving up the line quicker than you, and that may make you feel bad. But you shouldn't fall in the trap of comparing yourself with others. Everyone learns at their own pace, and does so with a unique style that works well with some, and not so well with others. The wait can be long and arduous, but soon enough you get to experience the thrill of...

Roller Coasters


It's why we stand in line, right? The excitement, the thrill, the adrenaline. When you solve a difficult problem with code, and get to see the outcome of that solution in a web browser or even in Sublime Text, it is truly exciting. But roller coasters have their ups and downs, and this is how I felt this past week.

Monday was our first day introducing us to Ruby. I paired with someone of similar level to me, and we slowly made our way through the lessons. I learned a lot. The next day I was paired with someone of lesser ability, and we both struggled throughout the entire day. I felt terrible by the end of the day. Wednesday I paired with someone of similar skill again, and we blazed through our problems and ended up with beautiful-looking code. Thursday was also good, and my partner and I worked well together to finish the lessons with satisfactory code.

Friday was Freaky Friday, or whatever you want to call it. The teachers have been experimenting with what to do on Friday. The week before it was a review day where you get to work on old code. This past Friday was a challenge day. We get a single problem to work on, do it for two hours with one partner, and then switch partners. The catch is that each time you switch, you delete your old code and start over.

A lot of people liked this and were excited by it. I didn't. I am a more methodological, deliberate thinker when it comes to writing code. The time limit meant that you couldn't really think things through. And since we switched partners every two hours, the progress you made with a previous partner was lost. 

But I made sure that I didn't let this get to me. I remembered the good days from the past week, and the excitement that I felt during that time. I know that I will have good days and bad days -- but what will lead me to more good days than bad is my approach to dealing with those days that aren't so pleasant. As a wise man once said, "The problem is not the problem. The problem is your attitude about the problem." Any guesses as to who said it?

The Homogenous Culture




A friend of mine who used to work at Disney World once commented that the management takes culture and roles very seriously. This is done to maintain that culture of fantasy for the children. 

At Epicodus, although we have a diverse student body from many different backgrounds, we do live that same homogenous culture that is the world of the programmer. When I am among my fellow students, I feel as though I fall within an acceptable deviation from the average level of knowledge and awareness of programming. Some of our conversations would leave the average person grasping for straws as to what the hell we were talking about. At the same time, there are also those times where I feel like I just walked into another world that I don't really understand. 

Case in point, there was a Ruby Programmer's meetup last week. The first speaker rose to play hangman with the crowd. He described some esoteric programming problem as the "clue," to a solution that was some sort of Ruby method. My eyes and those of my fellow Epicoders completely glazed over. It was truly a foreign language...for now.

At the same time, the meeting was interesting and fun. Two other speakers (including Epicodus founder Michael Kaiser-Nyman) spoke on interesting subjects that I could largely follow. We then enjoyed a few brews afterwards, and I got to speak with some interesting characters about work and other topics such as economic philosophy.

Epicoders also like to have fun outside of class. I'm more partial to Friday's happy hour, as I enjoy my craft beer on the weekends. Others have gone roller skating, hiking, and other activities. It's easier to make friends when you share a common interest.

Just like at Disney World, where children with dreams of living out their fantasies with their favorite Disney characters come true, dedicated students with a desire to live out their programming fantasies can enjoy the benefits offered by a programming bootcamp, or any other group where motivated like-minded people congregate regularly to learn, teach, and grow. 


No comments:

Post a Comment