The Masters of Software Engineering Program, Carnegie Mellon

Standard
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.

Subjects

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