The Masters of Software Engineering Program, Carnegie Mellon

Disclaimer: As a student of the MSE program, this blog is a honest attempt to do an objective evaluation of the Software Engineering Masters program at CMU, Pittsburgh. It needs to be noted that this is totally based on my personal experiences and my personal perspective. The information below does not in anyway provide an ultimate or authoritative evaluation of the program but a merely a reflection of my thoughts.
Critical FAQs about Software Engineering Program (A MSE Student’s Perspective)
1. What is the Software Engineering Program from my perspective? Ans: There are three kinds of Professional Software Engineering Programs at CMU Pittsburgh –
i. MSIT-SE – 12 months.
ii. MSE – 16 months.

iii. MSIT-ESE – 16 months.

In my personal opinion my marketing definition of the program would be as follows:

“All the students enrolled here have 1-5 years of prior industry experience and as a part of this program – students stand at the intersection of software engineering, product development practices and computer science. It is a program for people who are a good combination of technical expertise and business perspective.”
Very romantic if you fall in this intersection but it is NOT the case if your personal learning or career goals do not align with this. I will explain in detail with examples below.

2. Is this program right for me?

Ans: Cautionary Warning: This program is under the umbrella of School of Computer Science but it is NOT a CS program; in-fact it is far from it and I cannot stress this more. So if you have applied here thinking this is a CS program or a substitute for a CS program then please re-call your packet or delete CMU from your list. Rather go and apply to the CS department to CMU or somewhere else OR be ready to accept the consequences of still coming here without truly knowing what you want or your goals and being confused.

In the earlier question, I mentioned about alignment with “personal goals”. That is the single most important question to ask yourself. If you have a wrong romanticized notion of the program or if you think software engineering = computer science or you are want to be specialist or a PhD in a particular core technical area then you might want to do a reality check for yourself.

Having said that: Yes, this program is really good if you have had some 2-5 years of industry experience and want learn more and get into careers paths of Technical Lead, Architect, Product Manager or Project manager. The program advertises students as “Agents of Change” which I agree with to a lot of extent.

3. Placements/Internship and Awareness of the Program in the Industry?
Ans: Based on my personal experience/opinion
and having made my statements in Question 2 above – I would be lying if I said that there was any awareness of the program in the industry. In-fact there is almost none. Most people or recruiters do not see any difference between SE student and a CS student and its same for many other courses. CMU has a million kinds of special programs with a million degrees, no-one can possibly remember that. You cannot blame the industry for this since Software Engineering is an abused term. Of-course a “Software Engineer” right? Most of the placements and career fairs at CMU are oriented towards hiring Entry-Level or Senior-Level programmers and for people looking for jobs in the positions I mentioned in Question 2 – other sources like LinkedIn and Alumni Network work better. So if you want to choose a career path in Project Management or Product Management careers fairs might not work so well for you. (Just my experience)

Most MSE/MSIT students end up taking up jobs as a Software Programmers at the end of the day (of-course there is absolutely nothing wrong with it) but the program’s core curriculum (which is very heavy btw) is not designed to teach you programming or make you the best algorithms guy out there. It assumes you are already know that stuff.
I have definitely heard that SE students do very well once they are in their jobs and a lot of learnings in the curriculum actually help in real life working environment. Does this mean the program by itself inherently helps you get a Software Engineer job at Google? Of-course not. No program does that. It depends on your abilities.

Another important thing to ask yourself is ask Why did you apply to the MSE program? I talked earlier about learning objective and the role you want to get into. For example: My careers interests are strongly for a Product Manager role and I personally think I learnt a lot in this program to do justice to that role in the industry. But the challenge from a placements aspect is there are few openings for these kinds of positions and of-course you have to be best of the best. Remember, no-one really hires a MSE graduate as a Project Manager – who has only 2 years of experience as a developer before, has not taken any project management courses here at CMU and or done some significant project to prove his/her ability in that role. Unless it’s small company or maybe you are an exception :).
So if you are really passionate about getting into one of these roles or the core curriculum then the program is totally for you. If you just want to come to the US and get a job please do not waste so much money. For instance I was very motivated to learn about Product Development, Software Lifecycle Management, System Architecture and Quality Management since it aligned with my goal of being a Product Manager so it turned out to be very useful.

I had to honestly say all the good and the bad so you can make the right decision for yourself. On a more statistical note, yes almost all of the MSE/MSIT manage to get good jobs. Of-course you have to work hard for it. You are at CMU – the competition is high. You maybe the smart frog in a small pond where you are coming from. Well, Welcome to the Ocean!

There are no internship opportunities in this program since there is summer semester and you have to work on your Studio project.

4. What is the Core Curriculum and Electives like ?

Ans: Cautionary Warning: CMU in general is know for heavy course load and lot of hard-work in-fact more that any other top university in the U.S. Well, what can you say Andrew Carnegie’s Heart was in the work!  and CMU totally lives up-to that reputation. I love it. But if you are going to have a nervous breakdown if you get a B, if you cannot work minimum 50 hours a week at any cost, if you think you can come here and take 20 electives in-spite of what other people say – please close your browser right now and forget about CMU and this totally applies to the Software Engineering program as well.

On an average, unless you are Einstein, you can take about 4 courses per semester and this is considering you want to work hard and also want to do well in those courses and learn something from them. Yes, you can convince your advisor and take 10 courses but then it really humanly impossible to keep up. No-one will let you do that actually.

I will give you brief idea about the core courses of the Software Engineering program which are almost common for all the three degrees. ESE differs a little but since I am not from ESE I will comment on it. Your core courses will take most of your time so please make an effort to find out what you are going to study in these courses. Spend sometime on Google.


As you can see the core courses are NOT at all about making you a great programmer but making you a good analyst, a good thinker and as the program says: “A change agent”. 

Apart from this you can take elective from almost any department in CMU. But you cannot hope to take like 10 electives. 16-month program students generally end up taking 3-6 electives overall on average including 6 unit Minis.

5. Are there any scholarships?

Ans: There is a James Tomayko scholarship which only 1-2 students might get after the first semester. It is certainly not a 100% scholarship if I am not mistaken. Faculty nominate and vote for a student who excelled in all areas; not only academically but also in extra-circular and have demonstrated financial need. Its best to ask the faculty and staff about this.

6.Teaching Assistantships and Research Assistantships?

Ans: MSIT generally don’t get chance to do any of these since their program ends in summer. MSE students get to be a TA on a selective basis and of-course if you have done well in the course – in the final Fall semester for the new incoming batch. Outside of the department if you take an elective and the professors asks you to be a TA it is totally possible. Although you have to consult with you academic advisor.

Another thing to note is that TAship doesn’t imply tuition waiver like in other universities. Over here you get paid for be a TAship.

7.Return on Investment and Pay Package?

Ans: This depends a lot on your previous work experience and what position you are getting into. In general people are know to get package between 90K-120K who graduate from this program.

8.Is it worth to pay $80K for this program?

Ans: Well, no-one but you can make that decision. Is it expensive – Hell Yes! Is it also worth it – Hell Yes! but ONLY if your learning and careers goals align with what the program has to offer. Again if you are looking for a CS degree or a degree in a special area of expertise like Robotics or Networking then please do not treat this program as a substitute.

Having said all of that I wish you good luck and if you decide to come here to the Software Engineering program – then as the President of the Masters of Software Engineering Leadership Initiative I welcome you and look forward to seeing you in August 2014.
(Note: All information above is my personal judgement and my personal interpretation so it doesn’t in any way represent an authentic evaluation of the program. Think of it like a movie review. It is quite possible that you may or may-not agree with me. I wrote this in a hurry so please excuse any typos and grammatical errors)

Hope this is helpful.

– Cheers, Abhi


14 thoughts on “The Masters of Software Engineering Program, Carnegie Mellon

  1. Thank you for the detailed analysis of the course! I would like to ask you few more questions to understand more about the program

    1.> You mentioned that there is some “Studio Project” which runs for 4 semesters? What is that project all about? Is it a tie-up kind by some companies or are these some university projects?
    If it is with companies, is it paid or just for learning?

    2.> And how are these studio projects assigned? Any interview or selection process is there for it?

  2. Good question Swati. I will update my blog to answer those two question. I think I missed them. But quick answers are:
    1. SE department ties up with various companies (these are NOT Big Companies like Google, Facebook or Amazon etc. although they have done that way in the past) or there are university projects as well. It just depends on what project the department choose for that year. So for example my project is a tie up with NIST (National Institute of Standards and Technology). They have an idea and we are instantiating their research by developing a software application. Most projects are revolved around this same idea. As a team of 3-4 people you work on this project for 4 semesters (in the MSE program). The projects are not just about technical implement but you have to manage the whole software lifecycle from inception to the transition to the client. You have practice in the project what you learn in class.

    2. One the first day of orientation students are assigned into teams. There is presentation of all the projects. Students then fill out forms to choose their preferences. Then based on your past experience, domain of work, technical expertise, software process acumen the faculty decides the team. That decision is final. All the MSE students have to work on a Studio Project. You have to work on Studio project in summer and thus there are no internships. Students do not get paid for this Studio work.

  3. Prasanth Nair

    Hi Abhishek,

    Thank you for the comprehensive blog. It was very insightful!

    One question that I have is the wording of the degree. It is just Masters of Software Engineering. I mean, there isn’t any ‘Science’ in it. Does this carry any significance? (Does this mean that this degree cannot be used for further degree such as a PhD?)

    • No, this degree does not have a “Science” in it. It is essentially a terminal degree – meaning that the program hopes to put students back in the industry and work there. It is purely a Professional Degree Program.

      There is small chance available though (but be CAREFUL since this is Rear). After the MSE program you stick around for another 1 year under the MSE Fellowship (beware this is rare and required approval of the Director of the program). If this is approved then you work under a Professor for 1 year to gain some research experience and then go for a Ph.D if you want to.

      • Prasanth Nair

        Thanks for the response, Abhishek. As a follow-up quesiton, does this degree have any trouble getting attested in any foreign embassy? For instance, if I’m moving/migrating to another country other than US. Have you heard anything regarding this?

    • 1. I have not heard of any problems related to VISA for this degree. I think the Embassies in general just see that you care in CMU and that’s all. I would not anticipate any problems w.r.t VISA.

      2. If you are asking specifically about the MSE program then – there are about 12-15 people from various nationalities. We have Koreans, Chinese, Indians, Australians, Americans etc.

  4. Shruti

    Hey I have been admitted to MSIT Se program , I just have one question since we have electives can we opt for subjects like machine learning from SCS department?

    • Shruti – The good thing about MSIT program is we are allowed to take subjects from any department as long as it aligns with learning. For e.g. You could take classes from Tepper or SCS or ML department. As a MSIT student, you can realistically think of being able to take about 3 12-unit electives subjects. Although, I do want to warn you that you might now always be able to take the specific subject you want due to classes being full. For e.g. some subjects are taught “only” in Spring and they get full pretty quickly so be aware of that.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s