3 min read

What do MBAs learn about software?

MBA programs should offer more approachable education on the software development lifecycle.

Bridging the communication divide between technology leaders and general business leaders (finance, marketing, sales, etc) is difficult. It's really hard to describe to non-engineers why feature development will take X weeks, or why a rollout is behind schedule, or why a team has to invest in an expensive platform project.

This challenge got me wondering what MBAs learn about software. Roughly 40% of Fortune 500 CEOs have an MBA. So, it's likely that as an engineering leader you are going to come across one. Communication is a two way street and just as engineering leaders should be able to converse in the language of business, a non-engineering leader should be able to converse in the language of software!

I graduated in 2010 from an undergraduate business school and I took exactly one class related to technology in my four years. We mostly talked about software's impact on strategy. We reviewed case studies examining companies that successfully deployed software for competitive advantage. It was great! I learned a lot. But, we never learned about how modern software was designed, developed, shipped, and maintained.

A quick look at today's MBA course offerings

I decided to look through my alma mater's course catalog, both at the undergraduate and MBA level, and was happy to see many more courses offered under the umbrella of software. Below are some MBA electives that stood out to me.

With the course "Managing a High Tech Company: The CEO Perspective" it's clear that MBA programs acknowledge that managing technology companies is distinct from managing other types of businesses. Though, with such a packed syllabus, I'm not sure how much students are learning about the software development lifecycle.

MBAs are learning to code!?! I couldn't believe my eyes when I saw a whole slew of courses like "Programming in Python and Fundamentals of Software Development" that actually taught programming. That's awesome, and a big departure from what existed 10-15 years ago. Students who finish the course will have a better mental model of how software is built and more empathy for engineers. The course requires students to learn a good amount of Python, which is a huge turnoff for most MBAs. My guess is the folks who take this course are more inclined towards entrepreneurship and are less of the "I want to be CEO soon" crowd.

"Operations Consulting: An Experiential Approach" is a course that doesn't teach anything related to software engineering. But, it's worth calling out because it forces MBAs to play the role of consultant to real life companies and clients. In this course it's focused on consulting for manufacturing businesses. It would be great to see this for software engineering.

Recommendations for MBA programs

In an ideal world I'd love to see a 1-2 week-long module in the "Managing a High Tech Company: The CEO Perspective" class that takes a similar approach to the "Operations Consulting: An Experiential Approach" course. But, instead of learning about manufacturing systems the module would focus on software systems.

The "Programming in Python and Fundamentals of Software Development" course tries to do this with its focus on principles of structured software development. But, it requires students to learn a good amount of Python, which is a huge turnoff for most MBAs.  

Here are two recommendations for teaching MBAs how software is developed:

  • Teach case studies focused on software operations. And, have a bias for case studies written by current and former software engineers and engineering managers. Discuss how and why software delivery speed and quality improved. Utilize guest lecturers if needed.
  • Incorporate experiential learning courses that put MBAs in operational consulting engagements where the clients/judges are software engineers and engineering managers. This will create much needed early-career feedback from engineers to MBAs before they enter leadership positions in software heavy companies.

It's critical for non-engineering leaders to develop a strong mental model for how software systems are designed, built, and managed. In order for CEOs in training to develop this mental model, we need MBA programs to offer more approachable education on the software development lifecycle.