This semester challenged me in ways that at times had me wondering if I had it in me to keep it all together. Many companies I admire tout the importance of failure as a sign of testing limits and realizing what seems out of reach. I decided to test my own limits and be willing to accept the possibility of failure. The Johnson Graduate School of Management at Cornell has opened one door after another for me. The number of doors (and which door) has been part chance, part hard work, and part choosing to say “yes.” I ended the fall semester with about 3% battery life left, after making the conscious choice to crack open a lot of doors.
There are stretch goals, and there are foolish over-commitments. I asked myself regularly during the semester which side I fell on. There is no shortage of things to get involved in at Cornell’s MBA program: outdoor leadership retreats, professional club boards, starting a company, becoming a teaching assistant, supporting new school initiatives, and coaching classmates. Oh, and class, sometimes there is class. I decided to say yes to all of these things, and I paid for it all semester. Was it worth it? Yes. But it would have been a whole lot more manageable if not for one specific class.
One of the reasons I wanted to attend Johnson was the opportunity to take classes outside of the MBA program where Cornell is known to have great strengths, including in computer science. Based on my job search experience and conversations with alumni and professionals, tech companies increasingly seek business hires with abilities in areas like SQL, R, Google Analytics, and with other digital tools. They want employees to understand the guts of their products, to be able to self-service data, to be able to problem-solve with a particular kind of logic, to be able to build something.
So, with that in mind, I enrolled in Python, taught as an intro to computer programming in the Computer Science department. It’s a four credit class that meets twice a week for lectures, along with a lab. Every two weeks there is an assignment that takes over 10 hours of dedicated work (or more for some of us), and since it is a foundation course, the class is mostly composed of genius 18 year olds. I’ve taken seemingly similar courses through online resources like Coursera, but I soon realized there is no comparison to learning a language for real when you are working 15-20 hours a week, engaged on a daily basis, and learning from the best.
Understanding the course material did not come easy. I’ve never programmed before. Some website design work, but never programming. I’ve learned that programming requires you to get into a “flow.” Settling into the environment, the vocabulary, and planning what’s next takes careful focus. I did my best Python work when I had over three hours at a time to devote to it. Shove that into the commitments I listed above and you have a recipe for disaster. The only time I could typically find three or more hours of availability was starting at 9 PM. Many classmates asked what I was so busy working on. While there was a host of things I could have said, the answer always seemed to be the same, “Ugh... Python! It’s awesome though.”
Fortunately, I had good company. I partnered on assignments with my roommate Omar Hashmy, who provided immense support. There were about a dozen other Johnson students who took the course as well, so we had some solidarity in our struggles. The course professor, Walker White, is one of the best professors I’ve ever had. He staffs an entire army of student consultants that are available to help anyone experiencing difficulty. The course also uses a Q&A platform called Piazza where any student can post questions to TAs and Professor White. They averaged an insane response time of less than 15 minutes per question, 24 hours a day. Needless to say, there is help if you need it.
Despite that support, there was a week when I thought Python would destroy me. My grades weren’t great but I was doing well enough for a Pass/Fail student not to worry. Then I missed three lectures and a lab while serving as a teaching assistant and recruiting. The result was a 3/100 on the next assignment, which was worth about 10% of my grade for the semester. Not good. To make matters worse, I invested a solid 10+ hours on it. But, in computer science, your code works or it doesn’t.
It was at this point, with pressure mounting from other classes, obligations to tech club, my core team, and the digital tech immersion, I began to wonder – is this when I discover this was too much to handle? That I will fail the class and bungle my other responsibilities? I rarely get stressed out, but this had me on edge. To survive unscathed, if possible, would require careful planning.
Omar and I knew we had to invest heavily in the last assignment if we wanted to do well. We scheduled three-hour blocks on our calendars every day for three weeks straight. This amounted to well over 50 hours of work. We would hit the wall on a problem – trying to get a class to talk to another class, and writing a complex conditional statement in under 40 lines of code – and three hours quickly became five.
We kept at it, stuck to almost all of our scheduled sessions, and in the end we completed the build of a fully functional game application, Breakout, the arcade classic. I’m relieved to say I passed the course. More importantly, scheduling time to complete this game forced me to finally absorb all course concepts, take confidence in my ability to program (a skill I think people of all industries should invest in), and take pride in one of the most satisfying projects I’ve worked on.
My experience this semester made me think of my most recent boss, Chris Danne, co-founder of The Blueshirt Group. Chris could take on an inhuman workload for unrelenting consecutive days, and by the skin of his teeth somehow manage to land on his feet, day after day. Well… most days! He left me with a lasting impression that I started and ended this semester with – you can take on a lot more than you think if you choose to believe it is possible. As Ben Horowitz says, even when you are in the struggle, “there is always a move."