Trends and tricks
Written by Michael Cacchio, iXperience '14 (Coding), Tuck School of Business
“We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths.”– Walt Disney
When I told people I would be spending my summer in Cape Town learning to code, most people asked why. It wasn’t an unreasonable question; as a classic-major-turned-healthcare-banker now pursuing a joint MBA/MPH degree, prima facie, there isn’t a clear trajectory that would lead to learning programming. So why did I choose to spend (what may be my last!) summer break at iXperience?
First, as a dual degree student (MBA/MPH), I had only eight weeks from the “pencils down” of my last exam until my first class of second year, which made me ineligible for the traditional ten- and twelve-week internship programs that many MBAs pursue. Although I felt like a slacker as my peers struggled through intense internship recruiting, I recognized an incredible opportunity to build my summer experience from the ground up. As I began developing criteria for my summer experience, I came up with one rule to guide my decision-making: whatever I chose, it had to be not like anything I’d ever done before.
When Aaron Fuchs presented iXperience at Dartmouth, I instantly recognized that it not only met my goal of being a totally new experience, but also fit neatly with many of the skills and experiences I was seeking to develop in graduate school, all in the span of a single summer!
In college, I signed up for an introductory computer science class during my sophomore spring. It was an overload semester for me, and within a few weeks I realized I didn’t have enough time to devote myself to it fully, so I exercised my Pass/D/Fail option and proceeded to “coast” through the remainder of the course. Since that time, I’ve always wanted to understand what I didn’t master in that class, so the iXperience opportunity afforded me a rare second chance at learning what I had given up on in college.
A lot of people questioned what value learning to code would have for me. After all, coding is a skill – and a specific one at that. While there’s recently been a flurry of public discussion both for and against code fluency among everyone, I think learning to code was a worthwhile endeavor, even though I don’t ever plan to work as a developer.
To me, breaking down a coding problem is very similar to analyzing business problems. First, you begin with an abstract problem, with no clear path to a conclusion. After a while, however, you see how you can break that complex issue into its component pieces. Then you analyze those underlying pieces (whether they are financial statements or code snippets) and understand what is going on at the component level. From there, you can re-construct the issue into a cohesive whole with a solution to the original, high-level, complex problem.
Additionally, coding taught me a lot about persistence. There was nothing more frustrating to me than crunching out lines of code, only to find a bug. At the same time, there was nothing more satisfying than working through a bug, even if it meant scrapping dozens of lines of code and re-thinking the strategy. I observed the sunk cost fallacy alive and well in many of my attempts to clumsily de-bug and find workarounds, when I really should have rewritten the entire section, and that was a valuable lesson.
Finally, the iXperience curriculum wasn’t just about “coding.” After just a few days writing Ruby code in the command line, we were tasked with thinking of a real-world problem we could address with technology. In addition, I learned not only about back-end development, but also about front-end and design issues. Much like the customer-first view that many businesses pursue, we were constantly encouraged to create UI that was user-first and designed to delight.
I think a lot of people think of coders sitting alone in dark basements surrounded by pizza boxes, hacking away for days on end. That was definitely my perception going into the summer, but I left iXperience with a deeper appreciation of teamwork and collaboration. My project team initially tried to divide the components of our web app into “silos,” with each of us taking responsibility for a different aspect of the design and development. We quickly realized, however, that this approach left us progressing only in fits and starts, and we needed to support each other actively in order to develop a coherent final product.
Additionally, I chose to work on a project led by one of my classmates, and the experience of executing someone else’s vision was very valuable. It required me to step out of the MBA “managerial mindset,” instead focusing on code line-by-line. Although I shared opinions about our approach and strategy, ultimately, I learned to be comfortable deferring final authority over the vision and direction of the project to Amy, our indefatigable team leader.
In one of my business school classes, we analyzed our social networks to understand the inter-connections and breadth in terms of geography and industry expertise. Through that exercise, I realized that not only did I not really understand a lot of the tech industry, but I didn’t even know hardly anyone in the industry. iXperience introduced me to some of the brightest budding computer scientists around, and I am pleased to now call them my friends. The comprehensive nature of the iXperience program – rather than just a course – was invaluable in introducing me not only to the technical aspects of a developer’s job, but also to their vernacular (“All your base are belong to us”), and a shared appreciation for internet cat memes. With that understanding, I not only better understand technological business problems I will face in the future, but I will also have more collaborative and productive relationships with technology professionals.
In just a summer in South Africa, I came away with a lifetime worth of experiences – coding skills, friendship, incredible restaurants and nightlife, hikes to views of unparalleled beauty, inspirational cultural tours, paragliding, vineyard tours, and, of course, cage diving with Great White Sharks!
So, why would an MBA spend a summer learning to code in Cape Town? The better question is why not!