No sooner had I decided to commit to writing at least one blog post a week than I managed to over stretch my time. I remember how this happened very distinctly: near the end of May, I started to get an itch to go back to school again. I had already known that I wanted to transition to software design and pursue an MBA for over a year at this point. But I haven’t had the courage to put my own money into my master’s degree and didn’t know where to start to get into software. Then, one fateful Saturday evening in June, my boyfriend was out of town for a wedding and I decided to take a stroll over to the Cheesecake Factory in Cocowalk to treat myself to some coffee and dessert. Scrolling through my Facebook feed, I happened across an ad for a free computer science and coding program offered by Miami-Dade College and sponsored by LaunchCode that conveniently matched the kind of schedule I would face at my desired MBA program. The deadline to apply was that Monday and I could hardly contain my excitement.
CS50 is the quintessential Harvard introduction to computer science course. The class enrolls upwards of over 500 students every year. When edX launched, the MOOC version CS50x was one of its flagship courses. As an introduction to computational thinking (as well as web development), CS50 is an institution of in its own right. But I would be amiss to say this was the sole reason I signed up. CS50xMiami’s sponsorship by LaunchCode, a company that places self-taught programmers into apprenticeships with local companies, illuminated the path to my dream career of creating well-informed software solutions at a generous salary.
Talented computer science graduates need not worry about job security. Yet.
I had a discussion with an old friend of mine who had graduated from Stanford with a B.S. in computer science when I started this program. He expressed anxiety over his own job security if everyone was learning how to write software. This anxiety, however, fails to take into account that there is a difference between knowing how to write software and knowing how to design software well. Sometimes all it takes is experience to get from point A to point B, but I doubt anyone in my cohort is capable of being the next Linus Torvalds in their lifetime. (Although, I honestly would love to be proven wrong on this account.)
Learning to code software is a lifelong journey.
I learned a bit about building web sites when I was in high school. Back then Flash and iframes were en vogue and CSS was still a fairly green technology. Then, my life took a turn and I had forgotten how much I loved to build and style websites until, well, right before I put up this blog. In the time I grew up and rediscovered one of my creative passions, CSS and HTML had grown up, too. It was as if I had to completely relearn how the internet worked.
A few weeks ago, the intentionally theatrical professor responsible for CS50, David Malan, announced the changes the course work had undergone in preparation for the 2016 Fall Semester (you can read his post here). My first impression was that, of course, I ended up in the most material dense iteration of the course yet. Malan also seems to address my two biggest concerns: the verbosity of some of the problem sets acted as a roadblock to getting to the meat of the work at times and the placement of the deadlines, modelled after Harvard’s own structure, interfered with my ability to get help at a point in the work where I would have really needed it the most. The biggest part of the announcement, though, would that they would be dropping PHP entirely and replacing it with Python.
This demonstrates a seemingly ineffable truth in computer science: as long as you are a developer, you will never be “done” learning. As someone who has a hard time standing still, both literally and metaphorically, the challenge is welcome.
Now, more than ever, I know this is what I want to do.
Well, kind of. My vision of the future sees me in a product lead or product manager position, combining all of the skills I’ve demonstrated strength in. This vision also sees me working on web and software development in my off time for fun. More than anything, I want my creativity to have impact and my experience would dictate that I would have the most impact in management or consulting roles. However, I feel it speaks to my passion that I would want to still work on software as an outlet no matter what I am paid to do. I wouldn’t be surprised if you see me at a hackathon, years from now, still sporting this get-up: