Now that I have graduated the program, as I reflect on the experience, it’s flabbergasting to think that not even 8 months ago I knew virtually nothing about code. Prior to starting the bootcamp prep course for the program, the only exposure I had to programming was basic CSS/HTML while trying to make my Myspace as tacky as possible back in the day. It’s been surreal to look back on how much I have learned in this short amount of time.
Prior to starting the program, I remember reading an article on Thinkful that discussed the difficulties that can come with first learning code located here. In particular, what stuck with me was a graph that was included that was to represent the learning experience, which almost looks like a rollercoaster (and would be a fairly apt description of my own personal experience).
I had forgotten about this article and related graph until recently, but looking back this graph decribed my experience perfectly. I remember first getting into procedural Ruby and, to be frank, feeling like a freaking genius. I was flying through lessons and there was very little I wasn’t grasping immediately. Yet one thing that I could never help but to think about was: “Okay, so I get how to make a for loop or write a function. But how does this transition into being able to create an entire website?” At the time, I didn’t realize that I was in the described ‘Hand-Holding Honeymoon.’
It wasn’t until I got to Sinatra that I believe I ended up heading on the downward slope of confidence. Suddenly there were other aspects that were being introduced. I wasn’t totally lost yet, but one thing I found myself struggling with was how to even articulate what questions I had. It was like trying to find the bathroom in a different country where no one speaks your language. I know that this isn’t right, but I don’t know how to even put to words what it is that’s going wrong. So how am I supposed to even get answers?
Eventually, I began to pick up the lingo, at least enough to form some sort of mangled question that might get my point across. And as I finally started to ask these questions, I learned one of the more important things that I have gotten from this program: the importance of communication. I began to find that the process was so much easier when I talked it over with someone else. Sometimes even just asking the question was enough for me to arrive at an answer. I learned later that this is sometimes referred to as ‘rubber duck debugging’.
I can’t tell you how many times I would spend way too much time staring at my screen, trying to get a lab to work, only to immediately figure it out on my own as soon as I finally broke down and asked for help. Even just the act of forcing myself to articulate the issue to someone else was often enough to make me realize what was going wrong. Never mind all the countless tips and tricks I learned from working with coaches or other classmates.
I would say it was about the middle of the Javascript component of the program that I began the upward slope of confidence. I was starting to see how I could use all these tools to build a lot of what I saw in my everyday life (even if it wasn’t quite as pretty.) As I made the transition into the React portion, I started to truly internalize another fundamental idea, and it’s one of my favorite parts of programming: that learning doesn’t stop. Sure, during this program we’re learning some concrete skills in specific languages. But ultimately, it’s not as much about learning these certain frameworks, but rather that it’s about learning how to learn.
Even if I were to never use Sinatra again, the experience of working with it improved my ability to approach any new framework or language I might encounter. I’m not only prepared to create complete programs using Rails, or React, or anything else we’ve learned; I’m also prepared to take on whatever new things or ideas come my way as I begin my programming career. And truth be told, I’m really excited to see just what those might be.