MBAs for Software Guys
This was not written by me, but I agree with the points being made, as I’m a tech person who holds an MBA. Original source here. I personally did an MBA at HEC Paris, mostly because I wanted to shift more to the business side of things, become entrepreneurial, expand my network and gain exposure to Europe. I also took 10 years of French immersion starting from Kindergarten, and HEC was the only decently ranked school with a bilingual MBA program. The bilingual program has since been removed from what I’ve heard.
Speaking of a masters degrees, I’ve always been of the impression that they’re good and cool if you get them at the right time. So, I guess the question is “when is the right time?” Some folks like to get them while still in the school mindset. 4 + 1 programs (graduate with a masters degree in just one year after your undergrad) are good for this. This is OK and convenient, but you’re missing out on a few things by doing it right away:
1. You can have someone else pay for it.
2. You have something concrete to show that you’re working towards during your annual review.
3. You have the added work experience of developing software or planning projects to aid in your schoolwork.
Of course, you have to work your classwork into the hustle and bustle of your already-overcrowded schedule. Still, it is doable. Your education isn’t a race, and it can take a long (sometimes very long) time to complete. I’ve had false starts on degrees, moved across the country and had to continue a degree program at a different university, taken courses via distance education, and have even set my career aside and gone back to school full-time for a while. If you want a masters degree (you like to learn, want to shift focus to a new area, or it will open some more doors for you), go for it. If you just want one more box for companies to check when hiring you, it probably isn’t worth the effort and money.
If you view the experience of a masters degree as some kind of awful uphill slog to get a piece of paper that you view as a non-expiring technical cert, I would advise against doing it. Spend your time improving elsewhere.
One thing that I will suggest to pretty much anyone is to consider getting an MBA. I know, I know… developers don’t like MBAs because those people are all used car salesman-types, right? But, hear me out on this one:
1. You know all those awful, insecure managers that you have had that are terrible with people and who can’t manage anything, right? What kind of formal training have they had on budgets, organizational behavior, project management, and product positioning/analysis? They probably picked that stuff up here and there by watching some other clueless manager when they were starting out. An MBA teaches you a set of skills that will help you to avoid making the same mistakes as those guys. I mean… sure, you’ll still be insecure inside. But you’ll get a lot of practice at faking it until you make it, and you’ll get experience with presenting material to normal people without seeming like a condescending jerk.
2. It is a good generic graduate degree that is generally of lower difficulty than a technical program. Trying to get an MBA while working is much easier on you than getting a CS/CE/EE/whatever degree. They’re also often tailored toward working individuals, so evening/weekend classes are more common.
3. The skills are pretty transferable, and you’ll really view organizations way differently and understand more once you get to understand what many of the other pieces of the company are doing.
4. You wouldn’t believe how much more attractive it makes you to organizations when you act as a consultant. That technical BS with an MBA is a pretty powerful one-two punch. Want to get seed capital or a loan to start a business? Subcontracts from a big firm? That MBA is a big first step in the right direction for doing so.
5. Many managers believe that an MBA holder has some form of magical powers. You’ll get more traction when arguing for functionality or schedule changes if you can approach it from a market/product/strategic standpoint and frame it with a supporting business case. You’ll be that one developer that management thinks finally gets it.
6. You know that nebulous “networking” thing that you’re supposed to do to get the inside track on those hidden, awesome jobs out there? Your MBA classmates will be masters at it, and they’re going to eventually be sprinkled throughout the management structure of all sorts of companies. You’re going to get dragged along for the ride if you play your cards right. Who are they going to think of when some technical position opens up at their job? That one smart “computer guy” who aced the operations management and finance classes (those dreaded math classes) and helped them get through it, that’s who.
7. An MBA is the entry-level degree for a whole different skill tree of jobs. Want to punch the reset button and try something else? Here’s your golden ticket.
You’ll get better mileage out of your MBA education if you start it after a few years of working because you’ll have better context in which to view everything that you’re learning. There are some 4 + 1 CS/MBA programs out there, but you miss out on having that practical experience context. Some of you hated school, and I understand that. It isn’t for everyone, and sitting through even moreschool is liked by even fewer people. Still, if you’re putting in the effort to learn something to get you a better job, why not pick something that will help make you a better and more well-rounded person?
Disclaimer: I got an MBA maybe five years after I finished my CS bachelors, and it helped me out so damn much over the course of my career. I even got my PhD in EE/CE over a decade after my MBA while developing software all the while, so it didn’t doom me to a life of middle management, either!