“Forget Wall Street lingo. The language Citigroup Inc. wants its incoming investment bank analysts to know is Python.” – Bloomberg, June 14, 2018
“There used to be a strict hierarchy: Traders made money and won glory while programmers wrote code and stayed out of sight. Those days are over.” – The Wall Street Journal, August 18, 2018
I glanced over a friend’s shoulder as he finished some neuroscience work on his computer. To my surprise, he was using Jupyter Notebook, a data analysis tool I was quite familiar with because I teach it to MBA students.
“You know how to code?” I asked.
“No, I’m not a programmer,” he said. “I just use this thing to run regression analysis and clean data sometimes.”
“How much time do you spend using Python?” I asked.
“Maybe 10 or 20 percent.”
That a neuroscientist would be spending up to one-fifth of his work time on Python underscored how programming and coding can no longer be viewed as an obscure tool used by computer nerds. It is becoming an integral part of many professions, making it increasingly necessary for tomorrow’s business leaders to having a working understanding of programming languages such as Python.
The Business School has responded with new technology and analytics courses, including two that I teach: Intro to Programming Using Python and Intro to Databases for Business Analytics. Since they were introduced in 2016, these electives have attracted hundreds of students. I only see demand growing — a trend that will shape the future of business education and that has spurred me to write a book about how to teach programming to MBAs.
From Facebook to BlackRock
The business applications for data analytics and programming are myriad. Community managers are learning HTML and CSS to send better formatted email newsletters, marketers are learning SQL so they can connect directly to their companies’ databases and access data, and financial analysts are learning Python so they can work with data sets too large for Excel to handle.
While it’s sometimes argued that people in business-oriented roles don’t need to know technical skills since they can outsource programming to a development team, this is an outdated and dangerous way of thinking — akin to the CEO who still refuses to use a computer or email. How are you supposed to make effective business decisions if you don’t know what technology is available? Or work with more technical people if you can’t speak the same language as them? Or vet the quality of their work? Or push back when they say that a feature will take six months to develop? Or that something simply “can’t be done”?
It might also be argued that business schools should leave the programming classes to their sister computer science departments, but there is a fundamentally different way of teaching programming to MBAs. Computer science departments teach technical concepts using a bottom-up approach while practical applications are often left to be learned on the job. MBA students don’t need to be taught to be programmers, they need to learn how technical concepts apply to business uses.
Employers increasingly know this, which is why I’ve seen a surge in demand from recruiters for MBAs with coding skills. A recent job posting from BlackRock’s Financial Markets Advisory team sought an associate familiar with “programming languages, including scripting, data management, database, and visualization tools… some knowledge of R or Python required.” This past spring, Facebook was looking for a Finance MBA Intern with “strong fluency in SQL and/or other programming languages.”
Former students have told me that Google, Facebook, and Amazon are all looking for MBAs with knowledge in SQL and Python. The fixed-income giant Pacific Investment Management Co. (PIMCO) has signaled it is looking for analysts who know Python, too.
Program or Be Programmed
In response to this demand, how should business school curriculum develop? I’ve had students tell me that they believe programming should be in the core, which may be a tough request from all 1,100 MBA and EMBA students (though I believe this may happen eventually).
Another path forward already seen at other business schools is the creation of a tech-focused track. Students who seek more analytical training could take a diet of data- and programming-focused courses, as well as integrate Python into existing courses such as Capital Markets. Success of the program could be measured by employer interest as well as the job placement rates of graduates who have completed the track.
As an example of where this kind of tech-savvy MBA would make an immediate difference, consider the role of product manager. One of the most valuable hires at a tech company, a good product manager must be able to specify product requirements based on a strong understanding of the market and customers’ needs. She must also manage a team of developers to build out those product requirements.
This would seem like an ideal role for the MBA graduate. But traditionally, product managers are former programmers who are either taught, or have a knack for, business skills such as team management, customer development, and market analysis. Why? Because it’s often assumed that it’s easier to teach technical people business concepts than it is for business people to learn technical concepts. Underscoring that perception, there’s a mean joke in the startup community about a back-of-the-envelope way to calculate the valuation of a startup: Multiply the number of developers at the company by $1 million and subtract $500,000 for each MBA.
We’re changing that misperception. In my experience of having taught Python and SQL to hundreds of MBA and EMBA students over the last two years, our students have no problem picking up highly technical skills when it’s taught in an interesting and relevant way. That’s a big reason why I’m excited about how our programming is developing, as the Business School sets itself apart with new and innovative technology and analytics curriculum.
In the 2010 book Program or be Programmed, the media theorist Doug Rushkoff argued that society was very quickly being divided into two groups: those who know how to code, and those who don’t (and whose lives will be designed and directed by those that do). I used to present Rushkoff’s view to my students, but I’m not sure I believe in that duality anymore. The reality is that the distinction between programmers and non-programmers is quickly disappearing.