Master of Software Engineering: CMU or Elsewhere? 62
nestea247 asks: "I graduated from CMU 3 years ago and have since worked in a very good company and gained quite a lot of solid software development experiences. Now I'm thinking of moving on, to learn more about software engineering i.e. management/methods/processes. CMU has a very good program. I have been comparing it against other schools like MIT, Stanford, Berkeley...etc., and it seems like only CMU has very specific concentration on software engineering and a tailor-made cirriculum. Other schools are just general masters degree in CS that might require me to re-learn or polish a lot of concepts in undergrad. So CMU sounds like a good choice, but I hope if someone could tell me what's good about the other schools. What should I take into consideration (academically) when I select a grad school for MSE?"
PHB Potential (Score:1, Insightful)
God forbid you learn anything more about the trade practiced by those you will eventually manage. Unless you think getting a Master's will get you more money or a better job, you can learn all you need to know from reading some books. Practice your coding skills and your employees will respect you. No Master's degreee will earn a programmer's respect.
Re:PHB Potential (Score:1)
Speak for yourself. Having advanced degrees will earn more respect from me. Obviously, that's not the only factor, but it is a factor. I value MS and PhD degrees quite a bit.
Re:PHB Potential (Score:1)
He wants to learn about software engineering in order to better manage software engineering projects. Believe it or not, there's more to doing a job than scoring points on your scale of PHB<===>Programmer.
Geez, who would want "more money or a better job"?
Re:PHB Potential (Score:1)
Don't be a moron. Of course getting an M.Sc. will get you a better job and more money.
Re:PHB Potential (Score:2)
Re:PHB Potential (Score:1)
Whereas a bachelor's is all about introducing several topics, a Master's is revisiting the same old stuff but this time in more detail while a PhD is taking up a topic and being able to finish it even if it takes a long time.
I think that what you miss out in higher education you learn through experience. The time scales involved vary, so you may miss out on valuable lessons that others have learnt.
Having said this, I must add that Master's degrees are dime a dozen so a Master's doesn't gaurantee that the workers are not half assed.
Software architecting is where the staying power makes all the difference.
WTF is 'software engineering'? (Score:1)
Re:WTF is 'software engineering'? (Score:2)
Software Engineering:
(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
(2) The study of approaches as in (1).
Quite the opposite of just writing code. In fact people just writing code is has spawned the so-called software crisis which in the nineteen seventies triggered the emergence of the software engineering research field.
Re:WTF is 'software engineering'? (Score:1)
While I do agree with you that "just writing code" might cause significant problems when developing software, blaming the software crisis purely on the lack of methodology implies that the crisis can be solved simply with more methodology.
Since software is still expensive to develop and maintain, buggy and insecure (and probably often over budget etc.), the "software crisis" still persists to some amount.
Since almost everyone has improved their processes since the seventies, and the problem still persists, just adding methodology cannot be the solution.
It should also be noted that light-weight methodologies (for example XP, Crystal* etc) are gaining popularity, because the heavyweight methodologies often waste too much time on producing and maintaining deliverables that strictly speaking are not needed to develop the actual software, and therefore make the development process less efficient. Therefore too much methodology is at least as bad as too little.
Re:WTF is 'software engineering'? (Score:2)
Also you should appreciate that todays software projects are gigantic compared to the type of projects in the sixties and seventies. Software engineering has contributed to this by providing developers with better tools and methodology.
Another PHB, comin' up! (Score:3, Insightful)
now you think you're ready to manage us? Oh crap.
In 3 years, you've just about filled in the gaps left in your undergrad education. And you're not willing to learn any more about CS, you just want to get into the management role. Okay, here's the only recommendation you need for schooling: with your mindset, it doesn't matter which school you attend.
Every single person I talk to who says they know software management in terms of "processes" reminds me of the Dilbert cartoon: "We improve your software process! We don't know how to do anything, we only know how to do it better!"
(I like how he puts down the "general masters degree in CS" like it's somehow inferior to a program of study which specializes in the latest management fad. Like it's not called a Master's degree for a reason.
Re:Another PHB, comin' up! (Score:2)
So tell me... how long should he wait? Until he's got enough experience that moving into a starting-level management position would involve a pay cut? Until he's so uber-geeky knowledgeable about CS that he's unable to see the forest for the trees? Until he's mastered all of CS, so that he can evaluate your performance optimizations?
He may be a bit premature, but if he's thinking about it now, he may get around to it in another year or two. And believe me, he will know more than enough about CS to do a good job, if he wants to be a development manager. If he wants to be a team lead on the other hand, yah, you're right - he needs more experience. Too many places merge the two, and expect a team lead to also be the development manager, or vice versa. The first case is generally salvageable, the second... well, that's where you start entering until Dilbert land, unless you're dealing with a really good manager (one who essentially takes the brightest developer and bootstraps him into a team lead position.)
If you really have a brain-dead PHB for a manager, you have my sympathies. This gentleman seems to have the potential to become a decent development manager, if he doesn't end up convinced he needs to memorize all of Knuth before he can do the job.
I like how you put down a master's degree in management like it's somehow inferior to a program of study which specializes in obscure technical arcana :-/ IMHO, management's a whole lot harder than technical knowledge and skill... and believe me, I've been on both sides of the fence. I'm a code monkey now and forever more because I don't want the headaches that management has to deal with on a daily basis.
BTW, until a few years ago, I don't think CMU had a master's program in CS... they did give out a few, generally to doctoral students who either dropped out or who were obviously never going to graduate with a PhD. So, yah - at CMU, at least, there's a bit of a stigmata attached to a "master's" degree in CS. If this guy was at CMU at that time (and from the sound of it, he might have been), he very well may have picked up a bit of that attitude. CMU also has one of the rougest graduate programs in business management/administration out there (largely because of the technical focus)... so, you can see where he might consider one degree more significant than the other.
Re:Another PHB, comin' up! (Score:4, Funny)
I think that at least half of the rift between programmers and management is that we are suspicious of anyone who would rather deal with the headaches of management more than the quirks of a compiler.
Re:Another PHB, comin' up! (Score:1)
I think he's saying CMU has a separate program for the "Software Engineer," different from a generic all-around "Computer Science" degree. I know that in most Post-grad programs I looked at, the degree was simply "Computer Science," and the only specialization you could get was to choose your electives.
Re:Another PHB, comin' up! (Score:1)
Of course, compared to any other institution, the SEI has done the most research. It's just that they haven't pursued certain directions and therefore you are getting yourself into a very specific way of going about things when you sign onto their way.
The MSE is really like an MBA, I think. You should get it after you've been in the field for some time, when you start showing management potential. Its intention is not to make you into a teriffic software engineer, I think it's to credentialize you as a software engineering manager.
CMU + Masters in SE (Score:3, Informative)
I love CMU as a college, but SE looks kind of boring. Perhaps it's just me. Mostly learning management and workflow models, from what I saw skimming the textbook.
Ironically enough, I've been more impressed with the little I've seen of CMU's Graduate School of Industrial Engineering.
Also, if you come back to CMU again, you'll be without an NNTP feed. Damn CMU's IT people and their stupid bboards (godawful extension to IMAP, if anyone wants to know what they are...CMU gateways USENET through them).
Anyway, your call.
As an interesting aside, I've read that masters students generally end up making less money over their lifetime than BSers that would have invested the money they would have spent on their education. This is an on-average thing over the past ten years or something similar.
Re:CMU + Masters in SE (Score:1)
Don't be a moron. Either your employer or the department funds your graduate degree, otherwise you don't go. If your employer funds it, you're making the same money. If the department funds it, you're making less cash for 2 years. Starting salaries for M.Sc. tend to be 20k higher than that for B.Sc. only. Not to mention that some of the better jobs in the industry require more than an undergraduate degree, regardless of institution.
Re:CMU + Masters in SE (Score:2)
Re:CMU + Masters in SE (Score:2)
Re:CMU + Masters in SE (Score:1)
Calling something a quote and then not citing a source makes the information useless at best.
Re:CMU + Masters in SE (Score:1)
Re:CMU + Masters in SE (Score:2)
From where? I'd love to know this...I haven't seen any bboard-to-NNTP gatewaying software. The CMU Computer Club used to run an NNTP server last year (IIRC, from looking at post paths, they got their feed from MIT), but that seems to be down this year. And most of the public newsservers don't let you post.
Re:CMU + Masters in SE (Score:1)
Re:CMU + Masters in SE (Score:2)
Re:CMU + Masters in SE (Score:1)
That's what I thought during the Software Engineering class that was the first course I was required to take for my MS in SE.
I was wrong.
SE is heavy on learning processes, flow models, project management, Quality Assurance, etc... BUT a good curriculum will round out the coursework with stuff like AI, Real-time systems, architecture, Operating Systems and so on for those students who want a background in that area: I see a parallel to my undergrad EE coursework. I enjoy my classes as most of the profs work at real jobs or at least have recent work experience in their fields and know what *works* in the real world and what doesn't -- it's not just ivory tower stuff straight out of the book. Very often I find the professor's notes more useful than the $100 textbooks we have to buy. I have learned a tremendous amount and have a much better understanding of the big picture of software development, and it's good to spend a few hours a week surrounded by peers trying to get better at what they do.
As far as the money comparison; well I don't really care. I got into embedded software cause I love the challenge of the work. Before going back to school, I read everything interesting about CS that I could get my hands on, now I'm in school because I enjoy the environment and the learning experience. I have never done database/business type applications. The kind of work that interests me definitely benefits from the education I have received, and in many cases, employers require the graduate degree.
RIT's SE Program (Score:3, Informative)
Throughout their 5 year program, they are required to spend something like 3 semesters doing internships. My company hired one of them during their first internship period. Next time around, he hired every one that would accept the position.
Definately worth checking out.
Re:RIT's SE Program (Score:1)
Mandatory Shameless School Plug (Score:1)
And its also $20k cheaper then CMU
Go for CMU...it'll be a blast. (Score:2)
I'd also check out Stanford - much nicer campus, better weather, and you have real tech companies within a short commute. Can't vouch for the academics there, though.
As to the guy who was shocked that someone three years out of school was going back for a master's in software engineering, it sure beats getting your master's right after your bachelors. That's one degree move I don't understand, especially if they're in the same field.
Maybe I'll join you....ahh wishful thinking.
Jeff c/o 99
Re:Go for CMU...it'll be a blast. (Score:1)
Don't be a moron. Even if you get a B.Sc. and go into industry, by the time it takes you to get that 2 year M.Sc. degree, you won't be making near the starting pay of someone who went those extra couple of years. That doesn't even take into account the sort of shitty jobs you get with a B.Sc. and no experience.
Re:Go for CMU...it'll be a blast. (Score:2)
The masters in CS means almost nothing in terms of pay. It can open up some doors in research, but most of those will still be closed to non PhD's.
Of course don't forget the fact that the grad student makes 15k/yr as a TA, while the BS guy makes say, 45-65k starting.
Re:Go for CMU...it'll be a blast. (Score:1)
Of course don't forget the fact that the grad student makes 15k/yr as a TA, while the BS guy makes say, 45-65k starting.
Don't be a moron. That BS guy is making 45 to 65k starting, but someone with a M.Sc. will make 65 to 80k starting. As for investing that extra money you make not being a TA, it's not going to happen. The new car, new stereo, new computer syndrome hits when you go from living next to a crack house to making 50k a year. The extra couple of years in grad school might give you enough perspective to just buy a new car and leave the rest of it alone.
Right, all those shitty jobs you get with a BS CMU CS degree like this guy.
A B.Sc. is a B.Sc. There are just some jobs that you can't get without the paper or possibly 10 years of experience. If you want to be a project manager (or higher), then you get the degree.
Experience, not education (Score:3, Interesting)
Processes, concepts, best practices: these are the vices of ignorant PHBs. Practice makes the man including the software engineer. I've been doing my thing for about three and a half years now, and I'm a much more proficient programmer than I was when I landed my first job. School did nothing but forestall this progress for four and a half years. But by no means do I think I've reached coder valhalla. From where I'm typing, I see many areas for self-improvement, mostly my ability to persuade my co-workers why I am right. ;)
In fact, I think you're better off taking communications classes, something in the realm of interpersonal skills. All hacks do. But to surrender to a cirriculum of consulting-babble is poppycock. I can only hope you are miserable with "the way things work" at your present employer and want to break the mold. That's good; engineers should be making engineering decisions.
If I lucky to be hiring, I'd rather have a coder with five plus years experience (with or without a degree) than a guy with three years experience coming of a year or two sabbatical for his masters. It takes years of practice to know what works and what doesn't. Not tens of thousands of dollars and countless hours in front of a whiteboard.
Re:Experience, not education (Score:1)
Don't be so down on school!
Diversification of your educational base (Score:3, Informative)
Well, I must say that I'm a bit taken aback by some of the comments here. Even for /. it seems that even the posters with something rational to say are resorting to name calling. Personally I think it's great that you're furthering your education and in something as important as software engineering. The number of comments here whining about how S.E. practices are nothing more than PHB mumbo-jumbo really demostrates to me why the general state of software today is as deplorable as it is. Listen people: if you look at the most reliable and (if appropriate) secure systems ever created, like Multics (which there was a story about, eariler today on /.) or the Space Shuttle on-board control software, you'll see that all of those teams used extremely rigorus software engineering processes. I think the main problem that people have had with software engineering is that it's being spouted off by PHBs with business degrees or yahoos who think they can learn all there is to know from a book. Well, you can't. It requires experience.
I'm getting off my rant here and to my real point. I'm currently in the grad program at UC Davis. (My employeer pays for it while I continue to work full time & collect a normal paycheck, I wouldn't recommend any other way.) Let me tell you: graduate school is not like your undergrad days. Sure, there's classwork and homework, but you're expected to work on projects of real significance. None of this, "Write a program to do X and make sure you get the same results as me." It may not be the same as the experience you get working on a real product, but then I question the utility of many experiences in the "real world."
So, to finally answer your question, I found that the core ciriculum of my graduate program really helped to either fill in holes from my undergraduate ciriculum (from Purdue, also in CS), and helped reinforce ideas that I had all but forgotten about. As an undergrad we take 4-6 classes a term, and we get hammered with work. While I did my best to actually learn the material (as opposed to cramming), I found that having it again as a grad student (where you only have a couple courses a term, so there's more time to study ideas in depth), was rather refreshing. I think some of this benefit came from going to a different school from where I did my undergrad. So while I have nothing but respect for CMU and the SEI (I have to say that, my boss went to CMU :-) , I would advise you to not reject schools simplily because they don't have a "Masters of Software Engineering" degree (do ensure that they have a strong software enginnering concentration though), and look at different schools, if for no other reason than to expand your horizons beyond the CMU mindset and any unnecessary overlap they may have between their undergraduate and graduate ciriculum (one of my classmates at Davis also did his undergrad there, and he found the repetition useless, especially since he was getting the same profs for the core subjects).
Hope this helps!
-"Zow"
Re:Diversification of your educational base (Score:1)
I encourage anyone looking for a good education to find a smaller school where the student teacher ratio is reasonable.
[now working as a "professional"]
I'm considering a masters as well. I'm having trouble deciding whether to go --> C.S. or Engineering. My heart and interest lies with both.
Any suggestions on larger research universities that cater to working graduate students, like Stanford (C.S. focus) or UC Davis (Engineering focus)
Umm oh yeah, my work should pay for it too
-Fore
CMU - wtf??? (Score:2, Troll)
Wait a minute... you got out of Pgh alive and now you're thinking about going back?!? Are you insane?
Here's a tip for anyone considering CMU - STAY THE HELL AWAY!
Let's see, a CS dept. based more upon weeding out than teaching (if you don't know all of this shit already, then learn it by yourself fast enough to compete with your classmates, who have no life and *do* know this shit). Um, courses taught via video conference 'cause the prof spent the semester in Switzerland (or Sweden, whatever - great learning going on there, let me tell ya!) Gloomy weather almost every day. Miserable yinzers... and plenty of suicides, every year!
Oh yeah, such a great place!
whoah, got a little worked up. I just know too many people (myself included) who've sworn to *never* return to that hellhole.
On another note: it appears as though a lot of the slashdot crowd is comprised of coders, not computer scientists. Two things: software engineering is the life support system that allows a group to figure out what exactly needs to be written and how it's going to be written on-time, under budget, and to everyone's utmost satisfaction (quality). Otherwise it's just the forrest for the trees... and the other thing: coding is just the translation from ideas to the machine, almost any monkey can do it. The real art is in the system designs, *algorithms*, and the large amounts of domain knowledge to be grogged if anything useful is to be written.
Re:CMU - wtf??? (Score:2)
Re:CMU - wtf??? (Score:1)
On the day i graduated with my B.S., I swore I would never return to CMU again, ever.
but now after 3 years, the SE program just looks so attractive to me. urgh... the program is so concentrated, so focused, and short too (1 year + 1 summer)!
SEI (Score:2)
University of California, Santa Cruz (Score:1)
They've just started up a graduate program in Software Engineering, and I know a couple students and faculty and I'm impressed. (CMU students and faculty are impressive as well, but why not go someplace nicer?)
'course, I've heard that graduate programs (esp. near the SF Bay Area) are severly impacted, thanks to the dot-bomb.
Getting In (Score:1)
Take into consideration that application does not guarantee admission. A number of schools are scaling back on the number of M.Sc. applicants that they accept in favor of Ph.D.'s. In addition, not all universities will fund a M.Sc. student these days, so acceptance doesn't guarantee support.
So, look at what schools will actually support M.Sc. students, or start looking for a program close to where you work and try to get your employer to foot the bill for a part-time program.
Oh, and you'll probably want to count the number of faculty members that do research in software engineering as opposed to the other subdisciplines--and check their age. My school had 4 software engineering professors 4 years ago--now it has 1. They retired, and the M.Sc. in SE that used to be offered is no longer meaningful.
CMU West - Best of both worlds (Score:1)
zerg (Score:2)
clicka [cmu.edu]
Clarification (Score:1)
I just hope to clarify things a bit. I'm not the type who's so naive and only worked for 3 years as an engineer and want to quickly get a management degree to start bossing people around and getting big paychecks. No. I'm still in love with technology. I love to write software. I even code as my hobby.
I can keep on working, but I'm seeing there's something more than just writing code. The company where I work does pretty cutting edge stuff, but lacks processes when doing work. Features and functionality are often driven by implusive demands and not well planning, sources are not well controlled, release procedures are chaotic, systems are not well designed before implementation....etc.
I see there's a need to understand software systems better, utilize proven methods in designing and architecting complex software systems, and also make software collaboration more efficient. I believe a good masters in software engineering program like CMU has will take me there. However, for those who know, Pittsburgh is not a very exciting city to go back to. So I've been looking at other schools in major cities too, however, I could only find general CS master degrees.
Would it be better if I go to CMU for 15 months and study topics like this:
17-651 Models of Software Systems
17-652 Methods of Software Development
17-653 Managing Software Development
17-654 Analysis of Software Artifacts
17-655 Architectures for Software Systems
and have a real studio project to work on.
OR go to somewhere like Stanford for 2 years, study Algorithms/OS/Graphics/AI/Stats again, and at most find a software engineering research group to learn about SE?
CMU just seems more focused on software engineering. Other schools want to make you an all-rounded CS person.
I really like the CMU program, but is there anyone who could tell me otherwise why such a program is not enough and I should go for a CS masters degree? What will happen to me in my future career on both cases? Or perhaps a third option would be keep on working slowly up for another 5 years, hopefully to become a more senior engineer with more experience and then decide where to go from there?
Master of Software Engineering: CMU or Elsewhere (Score:1)
It doesn't make sense to give advice without individual knowledge unless everybody should go to the same school and live the same life.
Facts I Know That Might Help You: