In the not-too-distant future, coding will be part of the mandatory curriculum in schools around the world. It is just inevitable, since technology will deeply affect the lives of humans and organizations, and “communicating” with a computer will become as important as speaking to a person. Actually, this future is already in alpha version: this year the UK is the guinea pig for introducing programming languages since the first grade. Obviously, not every kid will become a programmer, in the same way that few people ultimately become mathematicians! However, it’s undeniably important to master basic arithmetic in our day-to-day activities. And so will be coding. I did not study Computer Science in college, and I was born in a different era (the “best” CS instruction I received at school was how to use Microsoft Word!), but this is the spirit of one of the goals I have set for the next few years.
I have always been fascinated by coding. As a pre-teenager, I got Internet access for the first time in June 1998. By November I had already learnt some basic HTML, by “interpreting” the source code of web pages, and I published my first website on Geocities.
(Side note: my creation was the first Italian website about Oasis, my favorite band in the mid-90s. I guess it is no wonder I ended up working in the music industry! The website had a few thousand visitors each day, which was not bad at all given the internet penetration at the time in Italy. I kept the website active for 3 years, then switched to recording my own music as my main hobby. Unfortunately, I lost all the original files, but here is a screenshot of the landing page, minus images, via WayBackMachine. The “optimized for Netscape Navigator” and “you are visitor # since 16th November 1998” bring a feeling of nostalgia!).
I have had exposure to HTML/CSS (besides the site above, I also built a personal website which supports to this day my songwriting/recording activity) and SQL (at work I interrogate on a daily basis a huge data warehouse of Spotify listening data). However, I am completely self-taught, and I lack any kind of formal training and understanding of overarching programming concepts. If I had to do a parallel with foreign languages, I would say that I can have a decent everyday conversation in HTML, and I can buy train tickets in CSS and SQL. But I have no idea about advanced grammar and syntax!
More importantly, I don’t know anything about back-end languages like Java, PHP, Ruby, Python or (the next one strikes some fear in me) C++. Regardless of what exactly I will do professionally in the years to come, I think that I will benefit from a general understanding of how an application is built. So here comes my objective: before the MBA begins in September, I want to learn at least one back-end language up to a beginner level, aka “capable of everyday conversations”. I will then aim to sit in a few Computer Science classes during my time at Stanford, taking my learning slightly further and deeper.
I recently started taking some basic courses on CodeAcademy, which is a fantastic and addictive education platform. After refreshing HTML and CSS, I am now checking the more advanced options: PHP, Ruby, Python. I will stick with one of these, based on my initial “feeling” with the language, and I will then learn/practice as much as I can, which for me usually implies building something from scratch.
This objective truly gets me excited, and sounds realistic enough. Anything beyond that would most likely be out of reach. Yesterday, I had an interesting conversation with a GSB alum on this point. He is a CEO and co-founder of a start-up in the Bay Area, which operates through a web application. We discussed how his lack of technical knowledge is impacting his experience. He was candid about it, and said that he is taking care of business development, his true expertise, whilst delegating all decisions about the product to the CTO and COO. This sounds indeed like an efficient division of labor.
He suggested to focus during the MBA on the areas that I could really master. In my mind this includes entrepreneurship from a management / sales / finance / biz development perspective. I do see his point, and agree with him. At the same time Stanford makes it so easy to take classes at the Engineering School, and I have such deep curiosity about it, that a few CS courses are just an unmissable opportunity.
My aim is really clear though. I will never be a programmer, and I do not plan mastering any of these languages. Just like foreign languages or music instruments, mastering requires not only a thorough understanding of the key concepts, but also years of practice. Too late for me!
Stanford has just introduced a joint MBA/MSc in Computer Science, which I believe is a fantastic educational opportunity. For a few months, I have contemplated the prospect of applying to this joint degree, but I have come to the conclusion that it would be too much at this stage of my career. If I ever find myself co-founding or working for a start-up, I certainly do not plan being the CTO. That being said, I would really like to have the minimum required knowledge to have great conversations with him/her!