Business vs. Engineering
As an undergraduate, I started a business degree in accounting. In the fourth semester, I registered for classes late and the Computer Information Systems class I wanted to take was full. Somehow, I had myself as an academic advisor, and figured the introduction to computer science from the engineering department would fit my program somehow.
That was my last semester as a business major, so you can probably guess how my answer will end.
I have undergrad and masters degrees in computer science, but not an MBA, so my answer is based on a little research and experience in the work place.
A Little Research: What is an MBA (Masters of Business Administration)
I have heard about the MBA for years, and figured it was like a business degree with content from all areas (accounting, finance, marketing, etc.) studied by business majors instead of just one area. Here is a list of classes I found for Rochester Institute of Technology.
MBA degree (traditional), typical course sequence (semesters)
Course Sem. Cr. Hrs.
MGMT-601 Foundations of Business Ethics 1
MGMT-740 Organizational Behavior and Leadership 3
ACCT-703 Accounting for Decision Makers 3
MKTG-761 Marketing Concepts and Commercialization 3
ESCB-705 Economics and Decision Modeling 3
FINC-721 Financial Analysis for Managers 3
DECS-743 Operations and Supply Chain Management 3
MGMT-735 Management of Innovation in Products and Services 3
MGMT-759 Competitive Strategy* 3
MBA Elective 1, 2, 3, 4, 5, 6, 7, 8 24
Total Semester Credit Hours 49
Nothing too shocking here. Having had econ 101 and 102, accounting 101 and 102, quantitative business analysis 101 and 102, intro to business law, I have an idea what the grad level version might be like.
Like most master's degrees, electives depend on are of specialization. Assuming you are staying in technology, perhaps the following is appropriate:
TECHNOLOGY MANAGEMENT (SEMESTERS)
Course Sem. Cr. Hrs.
MGMT-742 Technology Management 3
Choose two or three of the following: 6-9
MGMT-761 Managing Research and Innovation
MGMT-762 Managing New Process and Product Development
MGMT-741 Managing Organizational Change
MGMT-776 Product and Brand Management
DECS-744 Project Management
BLEG-745 Legal and Ethical Issues in Technology Intensive Environments
MCS programs may include content similar to MGMT-761, 762, 741 and DECS-744 but under course titles like "Software Project, Process, and Quality Management" or "Principles of Software Engineering." Some MBA topics may be mixed into software life cycle oriented classes like Requirements Analysis, Object Oriented Analysis and Design, Software Testing that are highly focused on both software engineering practice and on fitting into models like SEI CMMi. On the MCS side, there is almost always team programming or documentation project, and homework or a project where software tools are identified and used.
Academic Crossovers - Non-Computer Science to Masters in Computer Science
One of the other answers to this question described the MS in IT as a degree that had suffered as being like a rebadged BS for undergraduates crossing over from something else as a way to enter the software profession. Where I got my MCS, if your undergrad was not CS, you needed to fulfill 18 credit hours of undergrad level course work to make up the deficiency.
CSE 230 Computer Organization and Assembly Language Programming
CSE 310 Data Structures and Algorithms
CSE 340 Principles of Programming Languages
CSE 355 Introduction to Theoretical Computer Science
CSE 360 Introduction to Software Engineering
CSE 430 Operating Systems
Compared with a BS in CS, that approach is missing around 15 credits of CS electives. Depending on where they are coming from, they might be missing a lot of math and physics too. If I interviewed a candidate who took this route, I might want to ask questions about the undergrad material like:
- What does a D flip-flop do?
- How does a processor, memory, and bus work together?
- What initialization and handling is needed to make a timer interrupt work?
- What is in a class for a linked list? A binary tree?
- What is a recursive descent parser?
- Tell me about order notation?
- Name two sort algorithms and identify and contrast their orders of complexity.
- Name two search algorithms and identify and contrast their orders of complexity.
Maybe crossovers get a break, but I expect things balance out in the end. I would like to see people who changed their mind about their future goals have a chance to earn their reward on a level playing field.
Academic Crossovers - Computer Science to MBA
Without any undergrad work in these areas, the vocabulary, concepts, and practices might become an issue, so I don't know how well an engineer crossing over to business would fare. I didn't see information about deficiencies from business, but if your classmates have 18-36 credits of business classes that you don't have, even if it doesn't appear in classes, you are missing something valued by business colleges and perhaps employers.
Could you answer questions like:
- What are the inputs to create a statement of changes (from accounting)?
- What is price inelasticity (from economics)?
- What is the difference between monetary and fiscal policy and who controls them (economics)?
- What is the UCC (business law)?
- Name five methods of accounting for pension expense (intermediate accounting)?
- What is GAAP (accounting)?
- Compare and contrast the approaches of Adam Smith and John Maynard Keynes (economics)?
- On a balance sheet, is goodwill an asset or a liability and what does it represent?
One Executive MBA program I saw online expected six years work experience. Perhaps in your organization there is a chicken and egg problem where to be a manager they expect an MBA, but before committing that level of resource to management, I would want to be sure I liked it better than technical work.
Experience with MBAs in the Software Development Organization
Having worked in an organization with MBAs and several MCS graduates my perspective is that it depends what kind of management you want. Characterize whether you want to stay close to the technical leadership or step away from the technical work toward the work of communications between technical people and executive management.
One MBA who I knew, took on the role of project manager and created many Microsoft Project schedules which he monitored and tried to control. He also took over the software part of process definitions for ISO 9000. Although his degree was IT, he had never written code. His approach was pretty much straight waterfall, and he was hostile to Agile.
He became a protege of VP of operations, and for a while had high visibility and influence in many areas of the company, including supervision of project managers. The company restructured, engineering took back process definition for software and hardware development. He was moved to the IT department, and was no longer involved with product or process definition. Not sure if he still works on quality, but he is the support go to guy for the company wiki and a few related tools. I think he presently supervises no one.
Experience with MCSs in the Software Development Organization
In contrast, the MCS graduates I know are more tailored to the needs of software development and take the lead in introducing agile methods. They still do a lot of development, and are involved in requirements management, defining the design, assigning coding tasks, participating in daily scrum meetings and grooming the burn down list. It can be helpful to have a scrum master who clears obstacles for the team, but what I see are team leads becoming the lead of teams of team leads. Contrast this with System of Systems design approaches for large DoD and industrial projects.
My preference within the product development organization would be someone with both the BS and MS in computer science which should impart a lot of insight to the software development life cycle and how it plays out in projects.
Some Ideas about Management and Quality
I would also caution against process definition as a way to build a career in management. I have seen a lot of people involved in ISO 9000, and to a lesser extent SEI CMM, and other quality roles get their company over a big hump for certification. Afterward, they become isolated and exited because they were the process police and once the conversion from adhoc process is complete, they are seen as obstructive to taking products from idea to result. I believe that process and most decision making should be done at the lowest level possible in the organization. This permits the person who lives the job to control it and tailor it, and to have an intimate connection and dedication to using it as a productivity tool rather than a role in the org chart.
With that in mind, unless you are executive management, if you manage it, I think you should live it (or have previously lived it). My personal sweet spot would be 10-15% mentoring, administration, and process definition/improvement, with the remaining part being hands on development and product definition or product verification in the form of unit and integration testing.
I think companies will always have need of generalists, and if CEO is your target, there probably is no substitute for an MBA. It can help you rise in the organization because you will have the vocabulary, tools, and mindset of executive management. Traditional organizations may reward MBAs in technology leadership roles. My concern would be that in software development, Agile is pushing more of the management functions into the development team (or the development team is taking back more control, depending on your perspective). and when times are tight, if the choice is between a generalist and a guy who writes code and helps lead the team, the generalist might get cut.