Hacker News new | ask | show | jobs
by throwawayGT 3441 days ago
As someone who completed a (on-campus) CS masters at GT, I really wish I didn't. The classes were of very poor quality - it was clear that they were a low priority for most faculty. Andrew Ng's Coursera class on Machine Learning was the pedagogical highlight of my time at GT, and I did it on my own initiative (and it's free).

I know people have many reasons to get a Masters. If your goal is to take some higher-level classes, you can do better than GT. If you are self-motivated enough to do an online degree, you can do it for free. Aside from free offerings from sites like Coursera, you can find whole courses up from many institutions - with syllabi, lecture slides, homework assignments, etc.

If you're planning to do it for the salary, in my experience the degree ended up being worth a $95K to $115K bump in starting salary. Compare this with the 2 years of industry salary that I would have received, and the 2 years of experience (and raises that come with that). I know I wasn't paid better than the folks who had been with the company for 2 years more than me.

If you're thinking about it for the sake of your resume, I do hiring screening / interviews now (for Data Science and Software Engineering positions) - and I really don't care if the applicant has an MS or not (or what classes they may have taken). Most folks I know that do hiring think similarly. My main signal from your resume is projects you've been on and how you contributed.

From my point of view, this program is a losing proposition for any potential student.

24 comments

I just graduated from the OMSCS (online master of science in computer science) program, and I found it a wholly worthwhile experience. It was challenging, informative, and for the most part well-run. Software Analysis and Test in particular was a real eye-opener. And while Computability, Complexity, and Algorithms was a hideous death march of terror, the material they covered was some of the most interesting I've ever experienced.

Yes, you can study the same material on your own, but you won't earn a degree from it. Now that I've got the degree, I'm in much better shape to pursue further learning on my own.

Note, however, that I didn't do this to improve my resume, go fishing for a new job, or try to get a raise. With tuition reimbursement from my company I only spent $3500 over 2 1/2 years to earn a full-fledged master's degree.

Based on the above, I can't agree that it's a losing proposition.

"Now that I've got the degree, I'm in much better shape to pursue further learning on my own."

Could you explain a bit more what do you mean with this statement? Is it that you feel better prepared to study advanced topics (like advanced ML/Data Science) or was the degree a requirement for something else you wanted to pursue?

I'm curious about what other "doors" having this degree opens, other than the bump in salary mentioned by others.

Congrats for completing the program btw.

I was exposed to new sources of information throughout the program, such as Youtube videos, books, and lots of papers on computer science topics. Being required to read all that upped my ability to absorb and comprehend them. So now I feel I can go back to, say, my algorithms books and do a much deeper dive into topics not covered in depth. Or go follow up with some of the tools, like Korat or Dafny, and learn more about their internals and applications.

I honestly don't expect it to open any additional doors for me. I'm a software developer with 30 years experience and have been working for the same company for nearly 18 years. I wasn't looking for any changes, I just wanted to be better at what I did.

Thanks for the congratulations. It was quite difficult at times, took a lot of effort, but was totally worth it, IMHO.

I'm not the author of the above comment, but here is my take..

I think one benefit of a curated course is that it includes materials you didn't even know exists. We can easily improve on our known unknowns - just pick up a book or google it - but unknowns unknowns are... well difficult to learn. I think going through a graduate program helps you get a better grasp of what you don't know AND what you didn't know you didn't know.

Yes, that's certainly an aspect of it. As someone with a lot of professional experience, it's easy to get into a rut with what you're required to do in your day job. I always tried to keep up with new techniques, frameworks, etc. But getting the degree forced me to learn more about the course subjects. Like in Computer Networking, most of my low-level networking knowledge was several years old. Being exposed to Software Defined Networking was very interesting, and I enjoyed experimenting with Pyretic to explore how it works.
In my experience having a well structured program with good content is more important than it being an in person program. This is especially true if there are ways to reach out to live help when a student is struggling with some aspect of the program.
Absolutely. One of the key pillars in the program is student-to-student interaction, either via the Piazza course communication system, or direct contact.

I have extensive knowledge of VMs, so I helped many students get their environments set up. I could often diagnose show-stopping problems for the less-experienced students very quickly, since at my experience level I really have "seen it all". And if it wasn't something I could diagnose that way, I'd set up a Google Hangouts call and watch exactly what was happening on their screen and get them through it.

Many other students did the same thing. In Computability, Complexity, and Algorithms, there were some students who were apparently math robots from the future, solving the problem sets effortlessly, and posting them to Piazza so that the rest of us could use their work for study purposes.

Not OP, but I'm applying to some graduate programs this year that lead to a Ph.D. in CS, and some institutes have a hard requirement of a Masters degree for getting into their Ph.D. programs, while some (like most top US universities, including GATech) allow you to enroll with a Bachelor's Degree, provided you'll do the required coursework before the dissertation phase. It's really cool that one can earn a Master's Degree while working full-time, before applying to a Ph.D. program :)
How much time did you spend on coursework per week? Were you working full time while you did this program?
Yes, I worked full-time. I'm fortunate in that I WFH, so I could allocate the time I'd have had to commute to school, figure 90 minutes a day. I'm married but have no children, so I didn't have that requiring my attention. Then I'd augment with whatever additional time was needed (at the expense of World of Warcraft).

I'd figure for a "light" class that had a fair amount of coding or was in a subject area that I had considerable experience would be 10-15 hours a week.

A semester with 2 classes of moderate difficulty would be 20-30 hours a week, depending on homework pacing, amount of videos and readings to study, etc.

The hardest class I took was my last class in December called Computability, Complexity, and Algorithms (CCA) and at the end I was doing 35+ hours a week trying to get ahead. It was hugely difficult due to my very weak math background, but I somehow got the hang of it and passed with a decent "B" and graduated.

I did both my BSCS and MSCS at Georgia Tech. While I have many complaints about the school, the quality of the classes is not one of them, for either the undergrad or grad programs.

That said, with a couple of notable exceptions, the graduate classes are there for PhD students as first and second year background material so they have some starting points for their research. This naturally leads to a format where the semester can effectively be described as a long reading list of papers and lectures to spur discussion on the content of the paper. I was planning on pursuing a PhD when I started into my MS, so this format worked quite well for me at the time. In the years subsequent to that, the grounding from those classes has given me starting points for deep dives into problems I encountered at work[0].

It's interesting that you brought up machine learning. Charles Isbell's Intro ML class was a significant exception to the pattern I described above. In addition to high quality, pre-prepared lectures peppered with entertaining anecdotes, the had high quality projects that worked with pratcial tooling. It was also probably the highlight of my graduate career[1].

[0]: In particular, the material covered in my graduate systems classes has been invaluable for not reinventing the wheel for the thousandth time. The material from the couple compilers classes I took on a whim has been a huge boon when talking about software correctness. I work on the hypervisor underneath GCE. Correctness is near and dear to my heart, but performance is right there with it :)

[1]: For undergrad that dubious honor has to go to Olin Shivers, not only because of his eclectic teaching style, but also because his class completely altered the way I think about problems in computer science. In particular, my mindset shifted to one of models of computation and decomposition of problems into subproblems for which the simplest model could apply. I have an example I'd like to write up, but it's a bit long for a footnote.

Hi! I'm the director of Georgia Tech's MS in Analytics program (both on-campus and online).

GT's MS in Analytics degree is actually designed specifically for people who are going to go out and work in the analytics field -- it's not a pre-PhD degree, and our courses are targeted primarily at people who want to learn and apply analytics. We have an industry advisory board that helps us target course and program content, and we're constantly working to make sure our coursework is focused to the right cohort. We even have a required applied analytics practicum (both for on-campus and online students) where our students work on analytics projects for a wide range of companies and organizations.

Perhaps other degrees are different, but the MS Analytics is a very practice-focused degree.

I may be an educational purist, but to me I cringe when I hear universities boast about the "practicality" of their degrees they offer. You get a degree to prove you can learn. The courses should be heavy on theory and concepts. If you teach these well enough, ideally your students should be able to easily pick up whatever FOTM development stack or tool is out there and roll with it. I wish we could reverse this trend, but it just seems like it's too much good PR to say "hey everyone! come to our school and you are guaranteed to get a job!"
Certainly with the rise of sham/for-profit universities, sales pitches promoting 'practicality' now launch red flags, and deservedly so. But if the role of 'higher education' is to be a practical one (as engineering programs have always been), it only makes sense for schools to ask industry what it needs and then serve those ends, first and foremost.

In general, while theory has great value, it's more as a stepping stone to higher study than as an end unto itself. Few computing pros submit proofs among their deliverables. And devising the theta bound on a function or resolving the terms of a CSP simply don't deliver much value when working outside PhD-level R&D labs and writing peer-reviewed papers.

I believe there's a great deal of value in applied non-PhD track academic programs like GT's online discount offerings, especially in serving professionals and employers. I also believe it's high time that universities clued in to the unmet need that most of us post-academics face toward helping us continuously re-educate ourselves as we progress through our careers. Few of us pros can return to campuses, even part-time. Distance learning meets a crying need. And when done right and priced-right (as I believe GT does), I have nothing but kudos to offer in return. I say, more power to GT's authors, curators, and administrators who made this possible. And to all who make this greatly empowering service possible: thanks, and keep up the good work.

I disagree. The role of a university CS degree is to bridge the gap between high school student and software development professional. That's going to include some theory but a lot of hands-on experience with modern development tools. It should include a healthy amount of group work and tons of coding projects.

If you want to play around with theoretical computer science, get your PhD. College educations are too expensive to not be imminently practical.

I disagree with this sentiment based on my own experience. I did great in my BS CS program from a highly ranked program, but was woefully underprepared for industry and quite frankly a bad software engineer. Graduates from traditional programs often leave with next to no experience with testing, version control, team structure/process, newer languages, frameworks/3rd party packages, etc, and my experience in industry is that it's a role of the dice if your company, team, etc are interested in teaching you or waiting for you to learn. The only people I know who graduated with those skills are people who either had amazing mentors or were natural hackers in their spare time. If I could re-design my education, it would be 2-3 years of theory and then 1-2 years of applied liberal arts education before starting an actual career.
Graduates from traditional programs often leave with next to no experience with testing, version control, team structure/process, newer languages, frameworks/3rd party packages, etc, and my experience in industry is that it's a role of the dice if your company, team, etc are interested in teaching you or waiting for you to learn.

It's a waste of time to teach industry tools at a university. It's much more valuable to be taught fundamentals. Know your fundamentals well and any new tech will be much easier to learn. It's long-term thinking - put in the investment to make sure you can change skillsets in the future.

All the things you mentioned tend to be ephemeral and change a lot within a few years. Look at the git monoculture that's sprung up in the last 5 years for example - 10 years ago it might have been reasonable to teach SVN.

And if you learned SVN, you would have had a solid base for understanding GIT. Would you expect students to learn source code control in the abstract or not at all?

You have to do programming assignments anyway. Why wouldn't you require students to learn and use the latest source code control tools while they're doing their development?

Teach students to write tests, use source code control, utilize continuous integration, etc.

Although the specific tools, languages, and approaches will evolve in the coming years - none of the above are going away soon.

Fair enough, and I should have been a bit clearer in my original post.

In my experience with the MSCS program (nearly ten years ago at this point) the core required classes were mostly well structured and would serve people well continuing onto a PhD or growing their skill set for industry. The core constituted a relatively small chunk of the overall credits required, though, and the elective courses tended to be more along the lines of what I described.

I'm glad to hear that the Analytics program has a more dedicated focus on practical matters. It might be interesting to produce a series of similar (but narrower) curricula that amount to curated collections of CS classes making up degrees in Machine Learning, Systems Programming, etc.

I personally really enjoyed my dartboard-oriented approach to class registration. I learned more than I've never needed to know about approximation algorithms, cryptographic theory, and compilers. Even if much of what I learned there hasn't proven itself directly useful yet, I really enjoyed learning it for learning's sake, and I think I'd have had a hard time picking up some of the gems I pulled out of that since. I also still have a hobby of proving problems NP-complete on demand as a bit of a parlor trick (within the limited scope of problems for which you can apply the small handful of patterns I've burned into my brain over the years :).

Can professional experience and a partially completed bachelor's degree in SE substitute for the undergraduate degree requirement?
I asked this question in a number of places a couple years ago and the answer is basically no.

I did, however, find that my undergraduate university had a great program for people with nearly complete degrees who had been away for a few years.

I'll be finishing undergrad this May and am now looking at grad schools. Feel free to contact me if you want to chat about this because it's been surprisingly hard to find info or advice in our situation.

https://www.udacity.com/georgia-tech/faq

Who can apply to the OMS CS degree program? Admission into the OMS CS program will require a Bachelor of Science degree in computer science from an accredited institution, or a related Bachelor of Science degree with a possible need to take and pass remedial courses. Georgia Tech will handle the degree admissions process. For more information please visit the Georgia Tech program page.

I got into analytics while using the quant investment site Quantopian.

Mostly you use python numpy and scipy to analyze a large time series data set (stock market) to predict pricing while having a low correlation to the overall market movement.

I had some success and won their 6 month contest, but I still feel like a bit of a hack. I'd like to move into the financial quantitative analysis industry.

Would you say this GT program would be a good stepping stone?

In some ways. There's a class called ML For Trading that's very fun and like an intro to computational trading. The professor runs a company in that space.
I'm very interested in this program.

What is the best way to get in touch with you and get the syllabus material for the courses?

I'm at rememberlenny at gmail.

Charles Isbell is still at GT? Holy cow. I think he was the teaching assistant when I was taking VAX assembly back in the late 80's when I was there. Seemed like a nice guy.

It's amazing how you don't think of someone for almost 30 years, but you read their name in a comment on HN and memories come flooding in. What do those neurons do while they're waiting to be used again?

He was a associate professor in the early 00's.
> I did both my BSCS and MSCS at Georgia Tech. While I have many complaints about the school, the quality of the classes is not one of them, for either the undergrad or grad programs.

I also did BS and MS at GT, and while I generally share your experiences there were 3 or 4 truly disappointing classes during my MS. They didn't ruin my overall experience, but I can see how someone could happen to have more experiences like those and fewer positive ones and come aware with a very different perception of course quality.

My overall opinion of GT is mixed, but rigor or the courses is not one of my top critiques.

I took Isbell's class as well, and perhaps here we can share our respective experiences.

In the year I did it, the class was structured as follows:

At the beginning of the semester, you'd pick two datasets.

Every two weeks, you'd apply two or so algorithms that were being covered at the time (maybe k-means and SVD, or a NN and SVM) to your chosen data sets. There would be a set of variations that you were supposed to apply to each algorithm. Typically you'd normalize or clean the data in some way. Perhaps you'd filter outliers, etc...

The result would be a set of experiments to run (2 datasets) x (2 algorithms) x (2^3 variations per algorithm). You would compile the results into a (10 page max) paper, with analysis about how the dimensions differed.

It was up to the student to figure out how to actually implement this pipeline (I used sqlite + numpy/scipy/scikitlearn, many used Matlab).

On paper, this sounds like a great class - what a wonderful way to learn about how different approaches relate to each other, and how crucial the process of preparing data is to the effectiveness of the algorithm. In practice, however, this did not happen for most students I knew.

These students spent most of their time finding implementations of the algorithms and hacking at them to actually run all the experiments. They then rushed through gluing the results together through some semblance of analysis. Alumni of the class I knew said the same thing about their experience.

This analysis was read by TA's. There were I think 3 of them for about 100 students. We wouldn't get the papers back for weeks (long past we moved on to new material). When we got our papers back there was very little feedback of the content - mostly it was noted that we submitted the work on time, and had successfully performed all the experiments required.

I agree that Isbell is a joy to listen to - he is charismatic, entertaining, and I too enjoyed his anecdotes. However, I felt like you would only get something out of his lectures if you already knew what you were talking about.

When I think about the quality of the class, I think about how responsive the class is to the individual needs and progress of the student.

If you say that it's up to the student what they get out of the class, and your bar for a good class is that the content is arranged in a nice manner, then here you go https://pe.gatech.edu/sites/pe.gatech.edu/files/agendas/CS-4... ... any self-directed student can grab Mitchell, and do the weekly assignments I describe above - all for free and in the comfort of their own home.

I agree that latency and detail of feedback is an enormous problem with this sort of partially-guided coursework. However, it's a generalized problem with higher education, not specific to GT, in that when implemented effectively it's one of the most valuable education experiences but difficult to scale, because it demands time-consuming supervision.

This is especially true of term project courses, where the final portion of the project to which you devote the most time and creativity is also the part for which you're likely to receive the least feedback.

>However, I felt like you would only get something out of his lectures if you already knew what you were talking about.

I disagree (having taken the course as an undergraduate and it being my first major exposure to machine learning). Certainly if all you do is attend the lectures, you're going to miss some background knowledge, but that is true of most (if not all) university courses. You're supposed to devote 2-3 hours of outside work for each hour of lecture. Meaning 6-9 hours of studying per week outside of those lectures.

Some of this is doing the projects, although some of it is personal investigation.

There are failings of his course (one of the biggest at this point is that it doesn't do any work with the state of the art now), but I think that the fact that his course caters toward people who are self-driven is not a failing.

The best way to look at what the goal of the course is is by looking at his exams. If they weren't different than you took them, they were intentionally too difficult for the allotted time, leading to low averages and incomplete work by the majority of students.

However, the course allows motivated students to make connections between concepts, with the help of the professor and the coursework. Having someone "leading you" down the right path is very helpful, much moreso than a textbook alone.

I really do think that there is one exam question that sums up Isbell's course perfectly: its the one where you are asked to compare and contrast 4-5 aspects of 4 randomized optimization algorithms (RHC, GA, SA, and MIMIC) and explain situations where you'd use each and why.

The course's goal is to lead to a strong intuition for the algorithms covered (sadly at the partial expense of a theoretical understanding), not everyone puts in the work to develop that understanding, but that's not a failure of the course, necessarily.

I do agree that having materials that provide an approach to a topic is very useful, but as I mention elsewhere such materials are available for free online.

You can find the syllabus for Isbell's class and follow along. You can do the readings and programming investigations. If you like lectures, you can find many full courses on YouTube (I found caltech's lectures https://www.youtube.com/watch?v=eHsErlPJWUU to be the best at presenting SVM's out there, although this was probably my third attempt at understanding them so maybe the other resources rubbed off.. they also skim over the quadratic programming detail but I get that this may be beyond the detail that many people desire in an intro class).

If you have to teach the material to yourself, how is your experience improved by being in the class?

>You can find the syllabus for Isbell's class and follow along

To be fair, most of Isbell's course (lectures) is also available on Udacity.

>If you have to teach the material to yourself, how is your experience improved by being in the class?

There are a couple advantages. One of the most obvious is the lower latency of responses when you have confusion or misunderstanding. In a lecture, you can ask a question and get an answer almost immediately. This is most useful (imo) with algorithms and mathematical concepts, because you can ask, and lecturers are often quick to provide insight, into the interrelationships between algorithms (both in Machine learning and in a more theoretical sense like computability). There are topics that come up a lot, and being able to have instant feedback on those connections allows you to spend less time misunderstanding than not.

That alone is a fairly weak justification, I think the stronger one is feedback in general. Watching lectures only gets you so far. With implementation of algorithms, often your feedback is testable correctness (although my experience in DS&A suggests that most people are capable of constructing incredibly incorrect models for things that perform well on some input, and even on decent autograders), but with things like machine learning algs and intuition about those algorithms, you can't get that. So the feedback that yes, your understanding is correct (even if that feedback is slow) is invaluable. In that regard I think online courses and MOOCs can be good, but MOOCs that don't provide feedback aren't as valuable. I've attended a lot of lectures, and I've ignored a lot of lectures. Listening to someone say something does not mean one has learned it.

I'd also note that, if I recall, the way that Isbell approaches teaching the material, vs. the way the textbook does are very different. Textbooks are (often) references. They provide information on what something is and how it works theoretically, but very often lecturers are able to provide the kinds of things that aren't (and shouldn't?) be in textbooks.

If I'm reading a textbook, its very likely that I want to know how to implement an algorithm, so I care that the algorithm for simulated annealing says that you jump with probability e^(D/T) > Rand[0,1]. Whereas in a lecture, I'm likely much more interested in the idea that simulated annealing is conceptually very similar to throwing a ping-pong ball into a large complex, convex plastic surface and seeing where it lands.

My criticism is precisely that feedback was lacking. The assignments were only graded on submission - there was no feedback there (likely because every student worked with different data so going in-depth would have required the grad student TAs to spend too much time per student digging in).

I don't agree that feedback during lecture is valuable or low-latency as you say - not with 100 students attending. It might work to ask a clarifying question here and there, but again - you're only in a position to take advantage of that if you're already comfortable with the material and are generally keeping up.

Books are different than lectures, sure, but I don't think there's much difference between attending a lecture with 100 students, or watching one online. Indeed many people claim the online way is better, since you can rewind and skip around, pause and lookup references, etc...

When I took it we were encouraged to use Weka for the algorithm implementations themselves. This certainly allowed me (and I'd never so much as touched machine learning prior to taking the class -- I took it on a bit of a lark that wasn't related to my research at all) to focus on understanding the behavior of the algorithms rather than worrying about hacking them together.

I'd agree that Tech has too few TAs for too many students, generally, for its graduate courses, but I don't know that other schools do a better job. A brief survey of the folks around my desk elicited howls of laughter at the notion of useful or accessible TAs in grad school.

> I agree that Isbell is a joy to listen to - he is charismatic, entertaining, and I too enjoyed his anecdotes. However, I felt like you would only get something out of his lectures if you already knew what you were talking about.

I think this assertion is, at best, too strong. A better assertion might be that his lectures depended on coming in with sufficient background.

As I said, I came into the course with no experience with machine learning at all. On the other hand, I did have a fairly strong theoretical computer science, stats, and linear algebra background. I will admit that may have made me blind to things he was simply assuming with respect to educational background that were not actually safe to assume. That said, I still refer back to his primer on information theory (http://www.cc.gatech.edu/~isbell/tutorials/InfoTheory.fm.pdf) when discussing work relying on it, so he certainly made some effort to fill in gaps as he discovered they were common.

> When I think about the quality of the class, I think about how responsive the class is to the individual needs and progress of the student.

For a graduate level course I feel a class clears this bar when it accurately and thoroughly documents the prerequisites. Now, I'm not saying Charles's class necessarily does this. As I said, I came in with a pretty strong background in what turned out to be more than sufficient, but with that background I personally felt his lectures were quite tractable, even assuming complete ignorance of ML itself.

These students spent most of their time finding implementations of the algorithms and hacking at them to actually run all the experiments. They then rushed through gluing the results together through some semblance of analysis. Alumni of the class I knew said the same thing about their experience.

Ironically, this sounds quite a lot like much of industry.

Or unsurprisingly...
yeah, true.
I also graduated with a MSCS from GT. While I agree that a Masters degree is not a good signal for a job candidate, having Georgia Tech as your last institution of study instead of your potentially "lower" undergraduate program is.

The question remains is if an online degree has the same credibility. Looking back at my time at GT, I cannot see how operating solo, without the constant feedback from your peers and faculty, is as good. There is more than just what is in the study material. The other question is if the entrance requirements are still as stringent.

Silicon Valley hiring manager here.

From my perspective, unfortunately, Georgia Tech has really diluted the value of their masters in cs degree. They have become a sort of immigration visa-mill with very many India undergrad -> Georgia Tech Masters of very questionable skill level.

Just my experience.

GT grad here (1999-2003). While I'm not Indian I do have a ton of Indian friends and yes GT does have a large Indian percentage (by observation from when I was there).

I can't speak if the CS degree has been diluted but I will say there is an enormous amount of extremely undeserved selective bias against Indian people for technology jobs. When US citizens even see Indian names there are less likely to hire (known as name bias).

Again I can't speak for the programs but my Indian friends that went to tech were at the top of their class both in MS and BS. Highly qualified. Extremely humble, ambitious and hungry.

Just my experience (and I run a recruiting software company so I see it at scale).

I compare this to the apathetic divas that I have met from Stanford and MIT (I live in Mass so I have met many MIT grads). I would hire a GT grad over them any day.

Indians have a stigma for a very good reason: the 5% top engineers are drowned out by the 95% posers used by body shops (Infy, TCS, etc.) that have literally taken over numerous industries in the US tech market.

I worked in India for one of these BPO companies and know what I'm talking about. If the good engineers from India want to reclaim their status, they need to push back against the flood of H1Bs from these companies.

But instead, the majority of HN (or at least the guys who do more hiring, less coding) keeps pushing for more and more visas when we should be urging Congress to reform the system to allow the talent to come in (with Green Card), while disallowing US companies from using it to lower wages for all US engineers.

I have no doubt about the stigma... but one should be careful about letting stereotypes into their decision process particularly when it comes to hiring and race. It is not just morally wrong it is against the law (at least in the US).

I'm sure the hiring manager who posted earlier will say it doesn't affect the decision but the subconscious bias is a real thing.

I concur, but I'd rephrase it like so: It's not just against the law, it is morally wrong.
CMU has done this too unfortunately with their online MS degrees.
Those degrees are not CS. AFAIK, CMU only has a software engineering online degree.
Sure, but... We have clients hiring individuals looking only at cmu and see an online ms tangentially related to analytics then they associate that with cmus world class ml program and then touting them in our faces as the latest and greatest in machine learning. When we interview folks from the same program they don't make it past our first round because they don't know technique or programming
>When US citizens even see Indian names there are less likely to hire (known as name bias).

You're doubly fucked if you have an Indian name and you were born here. White hiring managers automatically assume you're incompetent, and Indian H1B hiring managers are threatened because they fear for their job.

When I was younger, I found it odd that many of family members of mine would Americanize their name. Now, I've experienced the reality of it.

Damn. I'm a second gen Indian and this makes total sense. I may do an experiment and go with a western name just to see what happens. But then I'm reminded of all the other Asians who do that and think isn't it a little odd for an Asian to be named Winston Chang and more normal for something like wu Xi or something. Or maybe that's too nomenclature-normative and we should be more agnostic to the orientation of someone's chosen name
I get this too. However, I can say that it's not just Indians. There are quite a few people from all backgrounds who have questionable skill levels from prestigious schools and/or who have masters degrees. I've given enough interviews to realize that there is an alarming amount of people who can't figure out how to write an "addition" function given two strings representing positive integers in a 45 minute window. So, I honestly skip over the school and education in the candidate's resume and see what their work experience is (or side projects if they have that).
Yes it's not just masters and it's not just indians. I think everyone who has been in tech long enough can give many examples of people with great backgrounds who just weren't great engineers. Education is a signal for sure though I think - it shows a certain willingness to dedicate oneself, and a certain level of intelligence and aptitude to attain, and getting a M.S. or PhD or even a B.S. from a hard school is going to filter out a lot of people already.

I also think a graduate degree is necessary for certain types of work. For just bog standard programming jobs where you can read a web page to learn the language/framework/library, sure you don't need it. But for other types of roles (quant roles, more research oriented, ML, anything tech cutting edge that requires theoretical understanding), an M.S. or Ph.D. is going to be a gatekeeper whether you want it to or not.

Question for you if you don't mind...

I've been out of undergrad and working in industry for close to a decade as a Software Engineer and/or Embedded Systems Engineer. I feel I'm doing pretty well in my career, but I've been looking at the online masters in CS as a way of showing that I'm dedicated to continuing learning, and to maybe open up some new doors for myself down the road.

From your perspective as a hiring manager, would this be worth the time and effort? It's not like I wouldn't be interested and learning new stuff anyways, but if I'm going to go invest the time and money to do the degree vs. learning on my own, it would be nice to know if it was worth anything.

(No sweat if you don't feel like answering, or want to take this private. Thanks!)

I believe that a dedication to continuing learning as massively important in our field, so it is something that I always ask every candidate during an interview. Not everyone has time for open-source projects, blogging, what not, but anything is important. Following Martin Fowler in Twitter, receiving a newsletter, something, anything. Candidates that demonstrate no interest in furthering themselves is risky, but from themselves and the company.

That said, a masters degree is not necessary, it is an overkill. I rather see open-source projects.

I wholly agree with your first paragraph, and I'd elaborate a little on the second.

I see only an upside in earning a MSCS, however you do it. But while learning more principle and technique is always good, it's not strictly necessary and it's definitely not sufficient to outcompete other candidates.

Experience in relevant side-projects is a good thing. It shows initiative and passion and that you're more than just a serious student. Open source dev experience demonstrates your desire to create -- not just to design, but to actually make -- as well as your ability to work with others, especially distant others. Most pro tech work now requires not just up-to-date tools and techniques but also good communication skills, increasingly with folks who work away from you. Demonstration of such skills is unusual and desirable, especially in those just out of school.

Instead of editing what I wrote, I will comment on it.

In hindsight, looking back at my MSCS, I think the strongest point of a Masters is not the elevated agree, but the opportunity to focus on a specific field. If you have an interest in AI, go to GT and work underneath a professor with lots of experience. Do not get a Masters just for the sake of getting a Masters.

GT has tons of research dollars. I was paid the entire way there, even as a non-PhD student. At first a teaching assistant, and then a research assistant. You cannot get that kind of experience from an online school.

> That said, a masters degree is not necessary, it is an overkill. I rather see open-source projects.

There are companies where side projects or off-hours work on open source projects is complicated. Employment contracts that say the employer owns all of your work, on the clock or off, aren't uncommon. It might be easier for some people to get a masters degree, especially when employers are willing to pay for it.

For getting a new job, only do an online masters if you want to switch specialties (i.e. move from embedded to security or web programming, etc)

If staying in embedded will just focus on work experience.

I'm sorry you didn't like the on-campus experience at Georgia Tech -- but the online program sounds like a clear win. For less than $10,000 tuition, you could've gotten a top-10 degree and your $20,000-per-year salary increase... all while still working, so you would've also accumulated raises and experience while finishing the degree.
The question would be whether the time spent on this program compares to what one would be able to accomplish on their own, and whether the difference is worth the price tag.

From my experiences with GT, I am apprehensive about the quality of content - I assume it's coming from the same departments and professors that I had experience with.

From other comments here it seems that the approach this program took was quite different from the one employed on campus, so that apprehension may be unfounded - that is, the online offerings may be of higher quality than what students on campus receive. Still, I felt like I needed to post something to warn people that the branding of GT does not in-and-of-itself mean that the content will be of high quality. Students considering the program should try and find some way to evaluate this - are there sample classes or lectures posted online? Perhaps ask someone you trust in the industry to take a look and give you their feedback.

Still, I think students who are self-motivated should consider what they would be able to accomplish if they took some time to organize a study program for themselves. There are many free high-quality resources out there that could be used for effective self-directed study.

Students who are less confident about doing it on their own should be asking themselves what sort of support they expect to be getting from the program. Certainly there are many advantages in having things curated for you, as well as having access to discussion boards with other students going through the same material. Aside from that, many students (unfortunately, I think), need the external schedule and commitment - and for them, merely having an exam deadline, or the $10K investment looming in the background may be the thing needed to get through the material. Those students, too, should be realistic about the investment they are making and what they hope to get out of it.

Does it remain a top-10 degree if thousands of people take the course every year? Genuine question. I work in education, and we struggle with this selectivity vs. access question ourselves.
I agree, and the $10k tuition would be likely covered by your employer. Some of the more expensive online MS programs still have significant out of pocket expenses if they are $40k or so
[disclosure: GT CS alum]

>Andrew Ng's Coursera class on Machine Learning was the pedagogical highlight of my time at GT, and I did it on my own initiative (and it's free).

This is something I wanted to highlight from your post. I don't think this is surprising, nor do I think it is reasonable to state that a course (or a degree program) is poor quality because it didn't meet the standards of Ng's ML course. That is an exceedingly high bar.

Its something I noticed, because I am a recent grad, so while I was in my mid-level courses, and had recently taken Tech's intro CS course, I was able to watch (Harvard's) CS50 and other courses. But on the other hand, I've seen some very bad online courses. The successful and large online courses are successful and large specifically because they are head and shoulders better than the rest. And there are a lot of decent online courses, so to measure against what are some of the absolute best online courses is to measure against courses that have more resources, more planning, and more feedback than most.

(as an aside, they also have more incentive to be good, but that's a bit tangential to the point that they also have more opportunity to be good).

You type in "Machine Learning" on coursera and you get over 1000 results (not all of which are relevant, but assuming even 10% are), its little wonder that one or two are going to be better than the even the best courses that you'll take during a bachelors or masters, because Coursera offers more Machine Learning courses than most people will take in their Bachelors or Masters.

Combine that with these courses coming prefiltered (you've heard of the Stanford Course, but what about "Applied Text Mining in Python" from UMichigan, which for all I know might be great, but it doesn't come with the hundreds of recommendations that the Ng course does, so I don't know that it will be great) and you have a really great recipe for a bias against the in person courses.

This is interesting. I had heard good things about the program, so I'd love to hear more about what ultimately went wrong.

What track were you on? Do you think that had anything to do with it? What did your peers think about the program?

A $95 to $115k bump sounds pretty darn good. Did you already have a CS undergrad degree? Where from? Sorry for all the questions, feel free to share as little or as much as you're willing.

I was on the Machine Learning track. Already had a CS degree from a prestigious school. I took classes primarily in the ML concentration, although I had to take some courses in theoretical cs and they were similar.

I'd say my peers generally shared my opinion (classes not being very good). Many of them were trying to get into PhD programs so they were focusing on finding research opportunities and didn't care about the quality of classes much. Some struggled but blamed themselves for this rather than the class. (I'd say this was very common amongst the undergrads too).

Of the PhD students I knew, most were discouraged from taking classes altogether, since it took away time from research. This was true even in the first year of their program. The general attitude from that side was that classes were a waste of time.

Many higher-level classes were run as mini-research projects. You'd get some content, then the rest of the class would be forming teams, proposing project ideas, implementing, writing up results and having 'mini conferences'. I think faculty liked this since it was a good way to try out research ideas, recruit potential PhD students, and give their current students extra time to work on their research.

Nothing wrong with that format, of course, but the actual coverage of content was typically superficial. If you weren't already familiar with the area, you had to figure it out on your own as you went along. Also, this is not a class format that translates to online very well.

>Already had a CS degree from a prestigious school.

I do not. I'm self-taught and considering the online MS for the purpose of signaling that my skills are legitimate (and filling in some theoretical gaps). As a hiring manager, would this change the value of an MS in your eyes? Or still unimportant compared to projects?

As someone who had a BS in biology before earning a part-time MS in CS (in 1990) I can say unequivocally -- the degree was a life transforming game changer.

With a non-tech BS degree, all too few HR departments (esp in bigger companies) will invite you interview for a software job. Without the CS degree, I was a pariah with very limited prospects. Frankly I doubt that POV has changed appreciably, even after 27 years. Business-men/women are a conservative lot. They take as little risk as possible. If you lack credentials, they hire you, and you fail... they look bad and have a hard time explaining why they hired you. But if you had a relevant tech degree, their ass has far better cover.

Of course, if you already have a BS in CS, I can't speak to the value of adding a MS. Even when I earned mine, the incremental added value beyond the BS wasn't overwhelming. But some employers care more for advanced degrees than others. Uncle Sam and most large companies automatically kick you into a higher salary bracket if you have one.

It also doesn't hurt if the school granting your MS is renowned. Aside from silicon valley (apparently), I suspect 95% of employers will be very positively impressed by a degree from GT. I know several employers responded favorably over the years to the mere fact I had a degree from Johns Hopkins. Like it or not, your alma mater often matters.

Great point. MS degrees may have changed somewhat since 1990, though.

One problem is that MS degrees don't really cover the general curriculum. They're often, even when rigorous, used to allow students to focus on a topic or project that isn't as lengthy as a PhD. For instance, someone with a CS might be interested in numerical computing, and work on ways to solve various differential equations.

The downside here is that this means a math or physics major might get an MS in CS, and do some programming in numerical computing, but not know much about algorithms or data structures.

I'm presenting this in the context of a genuine, rigorous MS degree, because it doesn't need to be a watered-down experience to still show the pitfalls.

Some MS degrees do require certain core courses before you can apply - so they'll take a math major, but they'll require that this student complete certain undergraduate courses - some before applying, some while enrolled. This can add time to the MS degree but avoids that scenario I described above.

Of course, once you've actually taken those courses (say, a math major passes courses in data structures, algorithms, compilers, and operating systems), then the MS may not be critical for finding a job anymore. But the degree can help.

Unfortunately, I've noticed a trend toward discounting MS degrees or even holding them as a negative indicator. This is probably because people get an interview because they have an MS, but then are tested during a technical interview on general CS that they may not have taken.

Not sure of the solution. I think the best approach is to take promising students from other fields, but then make sure they've taken the additional core coursework. This would add some time to the degree, but if all MS students did this, I think the degree would be more respected.

As it stands, the BS in CS is respected, because it (if the school is accredited) must contain all those core courses that tech companies love to quiz people on.

Whether those topics are actually relevant to the job is an entirely different topic!

I'm an engineer that does hiring as part of my duties. I don't ever look at the degree.

To signal your skills, I'd think about the industry you want to work in, and try and work on a project that is similar to work you'd like to do.

For example, if you're wanting to get into Data Science, find a data set, pick a question and answer it. Build visualisations, implement ML algorithms, etc. Put your code up online and write a blog post (or several) about the process.

A year spent doing that would be worth more in my eyes than a MS.

Or start doing Kaggle competitions, which signals some objective performance too.
Depends a lot on the company. You will have more leverage with HR to negotiate salary with an M.S. for certain positions and companies.

I'd recommend it if you have the time. As much as HN likes to push "just show your github contribution", degrees do matter to companies.

That bump was written ambiguously / confusingly. I think parent comment met a $20k bump from $95k to $115k, not BS base + $95k–115k.
Ah, of course, you're right. That makes a lot more sense. I'm not sure what I was thinking :P
ah. First thing I did was search the page for "95" to figure out WTF was going on. thanks.
At least one prof there takes UML seriously, and demands that his online students use it. I count that as a bad thing, but what do I know?
What you say is often true, however there are a number of places that will shitcan your resume if it doesn't have an advanced degree on it. For example SpaceX, but there are others, often in technical fields.

Also, hang in there. The degree may not have helped your current job as much as you'd like, but it may help more at a future company. Sadly we often need to change jobs to get a real salary bump.

The great thing about the premature resume shit-canning is that it leaves a ton of talent available for smaller or lesser known employers.
I think you're looking at it in both a false comparison (opportunity costs for online are very different than your on campus experience; not to mention the explicit costs) and backwards (as to who is looking to get this degree).

The margins on adding a MS CS (or analytics) is less for a CS grad, but at 10k a degree and the flexibility of taking online they are huge for non-CS majors looking to pivot. 10k to bump your salary up 20k (while working and getting experience + raises) plus the knowledge add pays for itself.

Im biased on account of being in the program (supplementing my Electrical Engineering degree due to a change in career and life paths), and I know a lot more about graph theory, formal algorithms, and high efficiency computing than I did a year ago. These are things that help improve both your portfolio of rigorous projects (Im currently working to port over all of my high performance computing assignments to Rust) and assortment of tools for the ever annoying CS interview.

I was in the aerospace department as an undergraduate, and my impression was that everything at GT takes a back seat to the PhD programs.
This is pretty common at all the top Engineering departments, nowadays.

My doctorate was at Texas, and it certainly catered primarily to what brings in the $$: e.g. research.

Yep, welcome to every research based university in the world. Even B.S. degrees take a back seat. I think OMSCS is good because they seem to at least be trying to improve the non-research track experience.
I'm enrolled in the OMSCS program currently (nearly graduated) while working full time. I started the program because I was already taking the online courses with Coursera, edX, etc, and it felt like a natural fit to get a degree while I continued to do so.

I didn't have a Computer Science undergrad degree, so perhaps I have a different outlook on this than you did. I'm currently working as a software engineer, so I'm also not forgoing earning a living by taking the time off from school.

In other words, while I can understand why you feel disappointed by your educational experience, there are other lenses through which this program makes sense. I feel good about having gone through it so far and I'm looking forward to finishing.

It sounds like you did the on-campus program at GT, so you took time off work to complete it. It's hard to argue with the fact that losing the wages to do that is a lot of missed opportunity.

However.... I think majority of people that take OMSCS (I am in my 2nd semester) and this new OMSA program do so part time while still maintaining their fulltime jobs and families.

Also, why the throwaway?

It strikes me as odd that the parent used a throwaway as well. What are they trying to hide?
Is not another possibility that they'd like to keep face / maintain positive relationships with their network from the school?
Maybe they don't want their salary being public?
I'm enjoying the MSCS program online so far and am also doing the ML specialization. I work full-time as a software engineer and just do the coursework part-time. My experience so far is that the assignments and learning are as rigorous as you want them to be.

I'm getting exactly what I'm looking for out of it (a somewhat structured environment to learn in), so for me I would say this isn't a losing proposition.

I am a current OMSCS student.

Your situation is anecdotal at best. You are critiquing an in person experience to an online experience.

> You are critiquing an in person experience to an online experience.

GT goes out of its way to say that the online experience and physical experience offer the same degree, is it not fair to compare them?

Same degree != same experience. Just like the same course within the same institution can offer different experience depending on the instructor.
Isn't that the norm as you continue along the education path?

E.g. someone who did a PhD with one advisor vs another

Perhaps this is the rare place where a more impersonal interaction helps avoid some of the negatives outlined above.

Anecdotally I've felt all of the professors are eminently interested in interacting with MS students online.

Really? Pretty much all feedback for OMSCS has been very positive. It sounds like you're bitter about something, or had a particularly bad experience. Can you provide more details about classes you thought were poor and what was poor about them?
I am bitter about having spent time, money and emotional energy on something that I felt I got no value out of, and I want to warn people thinking about doing the same.
Fair enough. I think your complaints though can apply to most degrees attained at big research universities. Certainly my own at a top undergrad C.S. had its share of terrible teachers and classes - it's a problem across the board, not just at gatech. And by all accounts, as OMSCS is focused on the classes and not research, much of this has improved (with some outliers like the CS6505 algo class, and some others).

My own experience was doing about half of an M.S. about a decade ago before dropping out to go right into work, due to money constraints. I don't regret taking those classes at all though - I learned a lot because I put a lot into it, and it's knowledge I've used throughout my career. I find it hard to believe doing an M.S. at gatech would have no value at all - I guess it depends what you plan on doing and how you will use it.

> From my point of view, this program is a losing proposition for any potential student.

Although I agree with your sentiment (formal education has a lot of flaws), a full-fledged degree potentially solves other problems than just improving your resume to get a better/higher paying job for engineers.

Family pressure, lack of confidence that comes with not having a formal CS undergraduate degree, or motivation and structure that comes from paying for a formal program could all contribute to someone choosing this path. A $10k, online masters program from GT seems like a good option for some people.

According to http://www.mastersindatascience.org/schools/23-great-schools... it's one of the best data science programs out there. Is there any other one that you can recommend?
I haven't gone through other programs, so I can't say from personal experience.

There are no programs that have stood out to me during hiring to predict the quality of the candidate.

If you're a student looking at programs, I would prioritize the amount and quality of individual attention you stand to receive. A self-directed student can do well anywhere (including on their own). If you're not so stubborn/resilient, having a good community and mentorship to help you overcome difficult times is key.

Perhaps The degree matters to people who are transitioning in from a 0 experience background?
I completed an Information Security and Assurance MS at a different school and in retrospect, I wish I had done it online instead.

I could have done it for 1/3-1/4 of the cost and in the same amount of time but with far less time spent commuting.

For what it's worth, GA Tech is an amazing school, but I do think they are far more known for their traditional graduate engineering programs (aero, mechanical, electrical, etc.) than CS.
These are sadly not linked to the sources, but they have ranked high for a number of years in CS - http://www.cc.gatech.edu/facts-rankings.
It is kind of funny in a post about a program which costs under $10k to have the top rated comment complain about a similar one _only_ adding $20k/yr of value.
> in my experience the degree ended up being worth a $95K to $115K bump in starting salary.

Wait... isn't this kind of a good reason to suffer through the course?

also just read, think, build, repeat, for free. at own pace. own schedule.
I have both a B.S. and M.S. in Computer Science. I didn't get my Masters because I wanted a higher pay grade (although the company I was working for at the time did reimburse a large amount of it), it was to get out of industry.

From my first job, I realized life in a cube wasn't for me. I really wanted to be in front of a classroom. I realize there are problems with academia. I know you have the same squabbles and competition you have in the corporate world, and seeking certain grants to keep yourself afloat can cut into the research you actually want to do.

Still, I really wanted to teach. I've seen so many professors who only work one or two jobs, or go straight from BS -> MS -> PhD with very little industry experience. I wanted to be a different type of professor with plenty of real work experience to drawn on and teach from.

Grades don't matter. I've found that's very true for industry. Having a GPA on your CV doesn't really mean anything and most people leave it off. However, it has a huge impact on getting into degree programs.

I only had a 2.5 undergrad and even though I got a 3.2 in grad school, it wasn't enough for most programs I looked at. I attempted and failed to get into 8 schools back in 2009 (ironically, one that I later worked for and could get free classes at. PhD programs however, are full-time).

Today I have three publications that I'm 2nd author on, and in 2015 I attempted to get into school once again. I contacted several professors. Most simply don't write you back, but even when I got in touch with several schools, many simply didn't have any professors who were willing to take students in my field (environmental sensor research).

It's really competitive to get back into school and there is a massive disconnect right now between industry and academia.

You get out of any education what you put into it. You can leave with just a basic understanding of computer science and only know two languages leaving an outstanding program. You can also go to a crap program and push yourself to learn more on your own; using what professors teach as a jumping board for a lot more.

The TL;DR I'm getting at is that masters programs do have a purpose: getting you into a PhD program. If your work pays for it, it might be worthwhile for the additional title, but if not, you're not going to learn anything you couldn't apply yourself to on your own.

> The classes were of very poor quality - it was clear that they were a low priority for most faculty.

I took a master's in aerospace engineering at a top tier school and I wonder if this is the norm for grad engineering courses, and for many lower-level undergrad courses as well (think massive freshman calculus lectures). To calibrate what you consider "poor quality," how did you find the quality of your undergrad engineering courses?