264 comments

[ 1.3 ms ] story [ 253 ms ] thread
I'm personally in the Georgia Tech Online Master's in Computer Science (OMSCS) program right now and can't say enough good things about it. The coursework is rigorous, deep, and varied, you really do learn quite a bit through the program and more than just random learning on your own, you get a degree out of it. Plus you get the opportunity to do some research and publish papers.
I'm also a proud OMSCS alum! But "the opportunity to do some research and publish papers" is certainly not the default.

Can you describe how you were able to do that?

So there are a few ways now! I do agree that it's not the default, I'd probably say <5% of people do, but it does exist.

1. Courses -There are a number of courses now where you can create projects and publish papers. Again, not the default, but if you put in the effort it's doable. To name a few, Computing for Good, Big Data for Healthcare, Deep Learning, Educational Technology, Human-Computer Interaction and others.

2. VIPs! These I consider one of the "hidden" gems of OMSCS and what I personally did. You can see them here: https://www.vip.gatech.edu/ but basically instead of a class for a semester (but counts as a class for credit and graduation purposes) you work for a professor on a project with several other grads/undergrads. I did one this past semester and was asked to stay on as a research assistant over the summer doing work in NLP. Really excited for it actually and has been a fantastic opportunity. I put a lot more details here - https://redd.it/u6cj5z

3. Master's Project/Thesis - This is the option to do a Master's Project or thesis instead of just ten courses, but it does require more work from the student to find a professor and do that. There's many more details here https://redd.it/9t48b2 and frankly I wish I had done so, but too late now.

This is the most comprehensive list of what I've seen for OMSCS research opportunities. Thanks for pulling this together.
I’ve had good experiences working with people from there.
The problem is when you have paid the tuition, and finished the degree, it's so hard to objectively rate it.

I have a Bachelor's degree from a decent state school in California.

At the time, I felt the courses were too easy, and my four years were a bit of a waste of time.

I remember going to a graduation party, and you would think we graduated from med school. The graduates were carrying on like it was so rigrigrous. (I have a very, very average intellect too. I actually flunked kindergarten.)

To this day I will not denigrate the school in any way.

I have no idea how one flunks the kindergarten, but I’m pretty sure that it does not reflect one’s intellect in anyway.

Am pretty sure there’s an interesting story there somewhere :)

Out of curiosity, I found a sample kindergarten curriculum for the province of Ontario in Canada. [0]

Children as young as four in the province are evaluated by educators on (pages 306–308): the development of the ability to interpret and respond to basic communication, demonstrate independence and "self-motivation" in learning, giving and accepting constructive criticism, developing problem solving skills ("e.g. trial and error, checking and guessing, cross-checking), personal hygiene, self-control of emotions, assertiveness when feeling safe or uncomfortable, and other skills. Indicators that educators look for include phrases from children such as "I'm really frustrated" (page 161) as a demonstration as an awareness and ability to label emotions; "I put my vehicle on the shelf so it would be safe" (page 167) as evidence of problem-solving ability; and persistence in difficult games (e.g. card games and outdoor children's games).

I was also curious whether education in kindergarten could actually have a causal effect on improving long-term outcomes. I couldn't find an immediate conclusion on whether or not interventions are effective, but in at least one paper, it's treated as established knowledge that interventions work. From a quick search, a longitudinal study published in a paper called "Task-Oriented Kindergarten Behavior Pays Off in Later Childhood" [1] with 2837 participants showed a correlation between self-regulation skills in kindergarten and long-term outcomes. The researchers wrote that "early screening by teachers [in kindergarten] introduces the possibility of preventing future learning and behavioral difficulties." They also asserted that "classroom engagement is malleable and amenable to interventions."

While causality was not clearly established in this paper alone, it looks like a reasonable prediction from the correlation that improving classroom engagement as early as in kindergarten could plausibly lead to better life outcomes in years later in life.

TL;DR: While kindergarten in Ontario in recent years may have different expectations than the commenter's time in kindergarten, it appears that educators do evaluate young children on general life skills (e.g. self-control and ability to be aware and label emotions) as a screening tool, and also potentially for interventions to improve engagement in the classroom (which could plausibly lead to better outcomes in years later in life).

[0] PDF, 2016: https://files.ontario.ca/books/edu_the_kindergarten_program_...

[1] 2013: https://pubmed.ncbi.nlm.nih.gov/23369956/

I did flunk Kindergarden. In the early 70's (during the later parts of the Vietnam war.), they had something called Early Primary in Corte Madera, Ca.

I remember all the children had to go up to the calendar on the blackboard once a month and put the day, date, and year The teacher would whisper in our ears where to put the plackard on the black board. If you failed--you had to do it the next day.

I just couldn't remember what she whispered in my ear while walking up to the calendar on the chalk board. Looking back it was nerves. We just had to move the pre printed plackard to the right spot.

The children used to yell "right--left. I would go to 30-31 places until they clapped. (The kids were on my side. They wanted me to succeed.

I was frozen with embarrassment though.

I think I had some learning disability, or emotional problem.

I just remember I had a hard time learning. In all honestly, I just wanted hide in the playhouse from the other children. I was basically very shy, and nervious.

That's when they put me in Early Primary.

It didn't bother me because 1/3 of the class was with me.

My family moved two years later to San Anselmo.

I was happy. My father, and mother were happy. My dad bought a four bedroom home. We all had our bedrooms. I love life, but my family more.

When I entered 2nd grade, I became worried. These new kids had no problem answering questions the teacher would ask.

I------would just cower in fear hoping she would ask me anything. Well--she didn't overlook me, and I would just freeze in fear when she would ask me to repeat what she just said. (Looking back it was basically nerves, but maybe a learning problem? 99.99% of me now feels it was just nerves.

Ok--it's the 70's, and teacher, and my mom, had an unusually long conference.

They held me back again. They put me in this worthless Speech class. I was a studder. "A, E, I, O, U, any Y." Repeated in a route manner. It made no sence to my young self.

I did have a younger sister whom would remind Everone that we were three years apart in age, but 1 year apart in school. There was always a silence from intelligent adults, or an uncomfortable silence from the rest.

By the time I got to the 3rd grade, I knew I just could be held back again.

By the time I was in 7th grade, I was a B to A student. Everything just clicked in.

High school seemed easy, but it was only until my last year I took it serious.

Most blue collar kids knew nothing about good/bad colleges. My sister, and myself, knew nothing of the SAT. It probally didn't help that my Electrican father thought "College boys were tax dodgers." (It was a different time in America. If you didn't go to college, it didn't matter. A union job was a test away.

OK, Iloved my father, but didn't want his life, including the drinking, and Archie Bunker mentality.

I ended up working my junior year in highschool, and going to College of Marin. Back then it was called the Little Berkeley. It was a great school for many years. Those two years were with the cost!

I wanted to become a doctor for all the wrong reasons, basically I could memorize visually all those biology charts, and organic reactions. It just came so easily.

I needed a 4 year degree though. I went to --- ------- state for the four year degree, and graduated. I also had a very aggressive girlfriend at the time, and I knew she would hold it against me if I graduate from that joke of a school.

I had a panic attack while I was in graduate school on december 24th. It was probally comming. I was very much a hypochondriac at the time, and actually believed I has a brain tumor. I tried to go back to school every month for a year, but was just a neurotic mess. I went from being the most capable guy in the room to not being able to drive a car.

I was so neurotic. My girlfriend was a saint though. I had this period where I though sex was making my head pain worse.

We are talking ab...

I flunked kindergarden PE.

Too many times, the class was supposed to line up at one side of the gym, then one at a time each kids was supposed to do the thing.

I was never good at waiting in a "useless" line.

I use to feel contempt for people really proud of graduating college. The actual college courses were all pretty easy compared to the difficulties of the rest of life at the same time - caring for family members, scraping together rent, etc. Someone proud of graduating college when all they had to do in the 4 years was study was upsetting to me.

I have a more mature perspective now, you never know what struggles people have and the courses are really tough for a lot of people.

> I use to feel contempt for people really proud of graduating college. The actual college courses were all pretty easy compared to the difficulties of the rest of life at the same time - caring for family members, scraping together rent, etc. Someone proud of graduating college when all they had to do in the 4 years was study was upsetting to me.

>

> I have a more mature perspective now, you never know what struggles people have and the courses are really tough for a lot of people.

Well done on you! I occasionally run into past versions of you. They usually dismiss my BSc degree and my MSc degree with an attitude that is similar to:

"I learned real lessons at the school of hard knocks. While you were partying with your college friends and memorising useless theory, I was making ends meet and learning practical programming by actually doing it."

Truth is, I've never been to f/time university. After school I (very briefly) apprenticed as a auto mechanic for a short while, then left to work in a factory assembly-line (12-hour shifts, all night-shift, 7 days a week) for a little more peanuts than an apprenticeship paid.

I used almost all of my meagre income to pay for part-time university (work at night, study+sleep during the day). Halfway through my second-year courses I finally caught a break and got a job as a computer-lab assistant at a nearby university.

It wasn't actual programming work (show new students how to log in, refill printers with paper, help students who destroyed or lost their access cards, etc), but it left me a lot of free time to waste on usenet, which is where I found my first actual programming job.

I don't narrate my origin story to those past versions of yourself, though. There's no point. Their self-identity includes their own bootstrapping story about how degrees are pointless.

Oh agreed, and and I'm definitely biased towards my degree. What I can say is that without the degree I find it extremely unlikely I would have gotten the job I have now working in Data. At the least it gave me the confidence to apply, but also without the structure of the program, I would never have studied ML the way I have.

However, I do completely agree there are other great programs out there. UIUC and UTexas have great online MSCS degrees that are comparable and well worth considering.

The coursework in OMSCS can vary. There are ways to get through the program taking fairly "easy" courses, and then there are much harder ones. I have certainly had a class or two that was less useful to take than others, but that was mostly so I could graduate in 10 semesters as opposed to taking longer.

I have a more mixed experience with the OMSCS. Overall it's a good program, and if the choice is between Udemy or OMSCS then it wins hands down. For me the central issue is online vs. in-person.

Education is an interactive experience, the value of a good professor and classmates is helping to identify issues when you are stuck and nudge you just enough for you to connect the dots. As an undergraduate I liked attending study groups and office hours. I learned as much from my peers, both me helping them and them helping me, as I did from my professors. This spirit was difficult to replicate this in OMSCS.

The problem is that high tough, in-person communication is very effective but this doesn't "scale" well. I can only imagine how different the world would be if Plato was teaching online. :)

Also I was in the 2nd cohort, there were certainly a lot of "bugs" and issues they were working through. Additionally, the culture of video conference and zoom was also less a few years ago, which could make an impact.

I second this. I attended OMSCS for a few semesters and ultimately dropped out because I felt most of the courses lacked any interactive component. Another factor that led me to drop out was that one of my biggest reasons for enrolling in a masters degree was to strengthen my research skills. Although I did manage to do research in a couple of courses and assist a professor, I found it very hard to juggle research, a full-time job and the demands of a part-time OMSCS course load (which is very time-consuming due to lack of interaction with instructors and faculty since it requires a lot of autodidacticism). Right now I am trying to determine the next steps in my educational journey. I am taking some online extension course with a synchronous lecture component and am finding it a lot better for really learning the material than OMSCS courses without synchronous learning component. However, it doesn't seem like full masters programs are offered in this manner. Has anyone found such a program in Computer Science that is geared towards people who already have a bachelor's degree in CS and are working full time in industry.
If lack of peer interaction was your main hangup, I think it has been addressed. The OMSCS Slack workspace has become a kind of 24/7 office hours, study group environment.

But there is still little to no interaction with the professors.

I was in the second or third cohorts, and I dropped out during the first course because the assignment was to write their registration system for them for free. They had specific requirements for Java, MySQL, etc. If I'm going to work, I'm sure as hell not going to be paying to do it.
I’m incredulous. That sounds like some kind of abuse of power.
I'm sorry, but this doesn't sound credible. You wouldn't let potential newbies write an important part of your infra. Plus a credible school has more than enough software developers. Might it have been the other way around, that the people who actually wrote the system have designed assignments that are based on their experience? That's something I sometimes did when I held classes: nothing gets you closer to a realistic real-world practice problem than the one you just solved yourself
I had near zero interaction in (physical) college regarding learning while we spent an awful lot of time on coursera dedicated irc rooms on (now dead) freenode, it was really vibrant, good spirit, no cheat, just sharing some hints at times, discussing the ideas. I preferred it to my IRL class memories.
I am also currently in OMSCS. One relatively recent change is that students actively use the slack or discord rooms for the course.

I actually found the interactive discussion to be more frequent then my (in-person) undergrad

Agreed, while I completely agree that in person is not the same as virtual, Slack makes it so that it's not as bad and I've made some good connections on slack. I check it every day and very much feel like I'm part of a community.
The best part of my experience was trying to form a study group (Google Hangouts at the time). Most people dropped but I made a very good friend. We still stay in touch to this day.

Slack and other conferencing tools are game changers. People getting used to these tools is one silver lining to the pandemic.

OMSCS alumni here. Almost all my classes had student organised study groups over video chat. But it does require you to seek them out and participate in class slack usually. Overall I had far more class related interaction than I did in my on campus undergrad.
I created this account for a specific question because the subject is something I'm thinking of right now. My question is:

How much time do you invest every day on this degree?

I dropped out of my MS degree 20 years ago and would love to do that again, but I feel like I would only have (at most) 1 hour a day to work on it due to all my work and family commitments. I could squeeze an additional hour at work to learn but that's about it.

Not sure how old your kids are but last time this topic came up I asked someone a similar question. My kids are both under 3 and they said no way if your kids are very young. I don’t think an hour would cut it unless you had a large part of Saturday you could spend time doing projects.
I'm almost done with my OMSCS run. An hour a day won't cut it.

Most people either do a couple hours an evening plus a chunk on weekends, or else dedicate most of their weekend. I tend to fall in the first camp, and then also add more weekend for harder classes.

The time commitment varies from 5-30 hours per week depending on the class. Most classes fall pretty close to 10 per week in my experience, but I also have been mostly picking medium difficulty classes on purpose.

It varies for me. I am a bit over half way through. I think I spend on average 10-20 hours a week doing work for the class. But I typically am the type to burn a weekend doing a project then do not much work for the next week.
I'm sad to say that an hour a day is unlikely to let you finish the program productively. You can look at https://omscentral.com/courses for student's estimates of how long they spent per week in courses, but most are over 10 and quite a few 20-30. You can get through it by taking some easier courses, but it is like a second job in many ways.
I’m curious whether anyone here is doing/has done OMSCS with a family in addition to a day job. I would love to do the program, but I’m not sure how realistic it is to take it on with young kids in the house. Does all of your non-work time end up being consumed by coursework?
You can do one class per term, and even skip terms. You can alternate hard classes and easier classes. If you don’t rush, it’s doable.

Source: graduated from omscs last year, with two small kids and a full time job. Took 3.5y though, and I had to skip a couple of hard but interesting classes because they would have been too difficult given the situation (covid lockdowns with kids at home and increased job-related workload)

I did my degree online with a "day" job and young family. My kids were 6 and 3 at the time. But my job wasn't a 9-5 so I didn't have that burden. Also, it got to the point where the day after lectures were posted, which were around 9 pm to midnight, I would get up at 3:30 a.m. to watch a 3 hour lecture.

The old adage "where there is a will there is a way" is definitely true.

I did in person MSCS with a day job and one kid, about 7 years old at the time. It's doable with a supportive spouse. I spent one or two hours (outside of class) a during the week, and sometimes more during the weekends.

I completed this at one class per semester, except for the semester I attempted two classes to speed up the process. While I was able to complete both classes, I felt the learning suffered as I was just rushing to complete assignments in time instead of really learning the material.

I just graduated from OMSCS and have four young kids and a full time job. It took me four years and I made full use of my employer’s generous continuing ed program (50 days/year, introduced about a year after I started) which kept after-hours work to a manageable level. I had to pass on a few good courses due to predicted workload, but made it through a good number of the harder/more rewarding ones and am very happy to have done it. I do not think I would have stuck with it if I was working 40 hours/week and doing the program entirely on my own time.
OMSCS alumni here. OMSCS is no joke! I underestimated the program and did it in a similar situation. I completed it, but it certainly had a large cost to me personally. You will lose weekends and time with your family - whether it's a massive project you're trying to complete before the deadline, or a hard final exam you need to study for 50 hours to pass.

If you can accept those sacrifices, and your partner is willing to support you (mine wasn't, it turned out), then it's worth considering. I would also strongly suggest treating it like a marathon, not a sprint, and do the 2 courses a year option.

All the best for your studies. I also decided to do a mid career masters, but as I did not have a completed undergrad degree I opted for an MBA in AI via a “non prestigious” UK university, as I also wanted part time, online and cheap. I’m a 3rd way through now.
UK doesn’t require undergrad for MBAs?
Neither does the US. Universities can do as they damned well please, subject to accreditation agencies. MIT does not demand a Bachelor’s to do its DEDP programme, just successful completion of the preceding MicroMaster’s. U Colorado has three Master’s on Coursera with similar demands. Do the preceding online courses to the requisite level and they’ll admit you to the Master’s.

But it’s also hard in the UK. Maybe there are more universities that allow it but don’t advertise it anywhere but the number who will state clearly they will take work experience in lieu of a Bachelor’s is small.

Good luck in your studies!
Thank you. Although I expect luck and some hard work will be required to complete
What course/uni was this at?

I’m in a similar position (incomplete BSc, but 20+ years commercial experience) and was looking at the OU’s masters but wasn’t that impressed with the syllabus.

GAtech seems like the premier online degree both in price and quality. The OMSCS program has continued to add extra content!
Based on what the OP wrote, Georgia Tech's OMSCS program would be worthwhile, especially if they are interested in the systems track. The UT Austin program is also modeled on GA Tech's program and looks especially good for its theoretical ML courses.

OMSCS has a lot of flexibility in being able to attenuate your course load, gives 6 years to complete the degree, and your peers are mostly working professionals. That's a big advantage of online-first programs.

I made a spreadsheet to compare cost, time commitment, esteem, and language(s) of AI short courses.

It's 2 years out of date, but might still be useful:

https://docs.google.com/spreadsheets/d/1mCETBcQJ5V1UA2maojCa...

In the end I didn't do any of them because they're less productive than self-teaching (basically YouTube + Kaggle + real personal projects), and I don't value the CV cred highly.

Where would a masters degree in CS help for someone with 20+ years of software experience? Genuinely - I have no clue.

I don’t have a masters. I’ll likely never need one. If there was a specific field that required intense learning and was cutting edge (computer vision or something) then I’d understand a masters (or especially a PhD) but for general work…? Don’t get it.

You’d certainly be better off financially from doing more leetcode or system design prep instead.

If I had to get a masters, I would take one unrelated to software development.

Marrying software development knowledge with another non-tech domain expertise would make one valuable.

> would make one valuable.

To who though? A lot of people won’t care if your masters is in education if you’re gonna work in most fintech.

I think it pigeonholes you further if you go down this route. If you want that then go for it but I’ve seen many wasted masters and PhDs in Silicon Valley. Many.

Maybe an English degree would be a good complimentary one?

"To whom..."

Sorry. Couldn't resist...

Maybe an English degree would be a good complimentary one?

Muphry's Law strikes again: compl-e-mentary vs. compl-i-mentary.

Haha, very fair! Hoisted by my own leotard...
The problem is most Masters programs don’t give you much expertise. Ever tried depending on someone’s skill in a topic they have a Masters in? Real crapshoot.
imo more common in the anglosphere that masters degrees are watered down these days. But top universities should have respectable programs still.

The masters students at my current uni (ETH Zürich) are easily the best software engineers I have ever worked with.

In your case only if there's a topic you'd like to spend your time researching and writing a thesis on. Doesn't have to be cutting edge though, there's plenty of value in iterative improvements.
I recently gave up trying to get a masters (because I couldn't get admission to any program), but I wanted to get one because I wanted to work in research and development. Work on kind of out-there problems. To get hired to do something like that... to even get past the HR screening... you need at least a masters degree pretty much anywhere.

If you don't have a goal like that, and you already have that level of experience, I agree it's dubious what a masters would do for you.

The gov hires based on a silly points system, and often, having a masters is the only way to get enough points to make it past the first filter.

This would only make sense if you're looking to retire-in-place though.

Unless it's for something specialized (CV, machine learning, etc.) then an advanced degree doesn't seem likely to help, career-wise. For personal growth, sure. But it probably won't open much up or affect your pay.

I've done almost all of my learning either on the job, or through extracurricular reading (e.g., lots of conference proceedings, and textbooks on interesting subjects). If you read just one paper a week, that's 500 papers in a decade, and you'll have a good grounding in large swathes of CS (or at least you'll know where to go for ideas on hard problems). Two papers a week and you will be wise beyond human measure.

I dropped out of college 40 years ago and the lack of a degree has never been a problem. It's getting that first job that's probably the biggest hurdle; after 4-5 years, few companies will care. And if they care, you may not want to work there.

If you decide to go part time / start teaching at the local community college, then the accreditation agencies are starting to require a Masters to teach undergraduate courses. Experience doesn't seem to matter.
I did my MS in CS roughly twenty years after my BS. I can’t prove causality, but my pay went up about 25% with my first job after graduating, and it’s only gone up since. I found that the coursework re-kindled an abiding interest in the “science” in “computer science”, which may not always have direct application in my day job (Sr. SDE at Amazon; opinions my own, etc.), but is gratifying nonetheless.
I mean - were you working at companies like Amazon before..? That's gonna influence it a lot more heavily than anything else. You can certainly get a job at FAANG without having a Master's degree.
I was not. My coursework did require me to understand things like algorithms and Big-O notation much better than I had as an undergrad, so I think I was better prepared for Amazon's interview. I also think the degree made me more attractive to ThoughtWorks, which was my first job after graduating with my MS, and the experience I got working there helped prepare me for (eventual) success at Amazon. Again, I don't consider any of this causal; it's just how it happened to work out for me.
Hi! author here.

I've seen requirements for a master's in CS or related disciplines on job descriptions for technical leadership roles, mostly at larger, older, more conservative organisations.

My work experience gets me roles as director of eng, vp eng or CTO at most startups, but for the national rail company here in Canada, I have a hard time getting considered for any jobs.

Great post, kudos!

For two cents, I’ve been in leadership roles (VP, or VP-equiv) at three big/huge companies now (Oracle, Amazon, Microsoft) and I don’t even have a Bachelors degree. This is somewhat unusual but not a one-off by far.

Job descriptions often say “or equivalent experience” (meaning professional experience) and in probably 1-2 cases during my career, a requirement to have a degree with no “or” clause included still hasn’t been a huge issue.

Impressed with all the research you did here and and your being intentional about objectives and how to get there, good luck!

My experience is identical. I’ve worked for people with no degree, and, outside of my friend group, I have no idea of the formal credentials of most of my peers.

I’ve hired folks at all levels. Degrees are one data point among many when I decide to interview a candidate, rarely discussed when making a hiring decision, and _never_ a factor when making a promotion decision.

If considering formal education to unlock promotion, I would strongly suggest speaking with one or two people with recent, direct experience in the promotion process at your institution. Get familiar with the functional reality of the process (it’s usually more subjective than advertised), ask how credentials are used (they usually aren’t), then go from there.

I will say that I have required education as evidence of commitment when considering applicants who were looking to change careers (that is, I see you have had success in your current role, but go get a cert to demonstrate basic aptitude and show me you are serious about doing this). This was only relevant for the most junior, entry level positions.

As an aside, I’m currently pursuing a teaching credential through WGU, but I have zero expectation that it will provide additional income (quite the reverse!) Rather, I’m pursuing the credential as a forcing function to engage with topics outside of my professional experience, and to provide access to opportunities that are actually formally, legally gated by credentials (teaching in public school in California).

Take it this way: two candidates for the same position. Both have +20 years of experience. Both pass the coding interview just fine. All things being equal, the only difference is that one candidate has a bachelor and masters degree in computer science but the other doesn't. I know who I would choose.
> Even if nobody else noticed or cared about that one line on my resume, I think I would notice, and that would make a difference. Just in terms of self-confidence

This is the most important line in the article. Perhaps that’s part of being “mid career” but that’s an excellent level of self awareness and shows that there are multiple upside/benefits.

I wish him the best of luck!

Consider Oxford’s MSc in SoftEng: http://softeng.ox.ac.uk
+1 to this. Good program. Great faculty. Department does well in rankings.
Thanks! I was looking for a program at Oxford. USN&WR has it at #11 worldwide for CS.

The SE program at Oxford doesn't seem to be available for 100% remote study, though. Am I missing something? I love this informal, friendly Web site, and I might be looking in the wrong places.

It's primarily an in-person program, delivered in one-week intensives. However, they went 100% remote for during the pandemic and apparently they are considering a hybrid option in the future.
I can’t speak to what the current sitch is, but when I was there you had to be onsite for 11 weeks over four-five years. Quite a few Americans would fly in for it
I’m currently attending it. It was full-remote during pandemic. Now you have a few courses still online but most of them are in person (1 week of lectures per module in Oxford). Not sure how it will be when things settle post-pandemic, but my impression is that it will continue to require in-person classes.
I’m interested in hearing more about this program. How is it, and would you recommend it for an American? Is it even possible for an American to fly in for the week-long intensives like the other comment on here says? That would be worth the experience.

What was your background when you applied and how tough is entry? (I see that there is a 99 application average over the past three years with 70 acceptances?)

And how much is the cost?

> How is it

You get a degree from Oxford at the end, which definitely opens doors. Of the ten modules I did, 2-3 were exceptional and stay with me today. 2-3 were trash. There rest were OK. It's an excellent excuse to get familiar with the subject, and the one-week onsite format followed by the six weeks of coursework is excellent.

> would you recommend it for an American? Is it even possible for an American to fly in for the week-long intensives like the other comment on here says?

Yes, we had quite a few Americans in my cohort doing this

> What was your background when you applied and how tough is entry?

I essentially flunked out of high-school, but I had ten years of solid commercial experience under my belt, and some interesting open-source contributions and tech talks at conferences, and they let me in. I suspect I had the potential to interview well as I also was awarded an academic prize at the end for highest overall marks...

However they also had this really interesting system when I was there where you could essentially earn your way in: they'd let you come and do the SEM module (challenging, but not nuts), and if you passed, they'd let you in as a real student.

> And how much is the cost?

£41,080 over four years for a non-UK resident

I guess @petesergeant already answered most of your questions, but to add a bit more colour...

I don't know how tough is the entry because I have not seen the other applications. What I did appreciate in the application process is that since the target audience is working professionals, you can get 3 letters of recommendations from people that you worked with, not necessarily academic recommendations (for someone who has been out of uni for a while, makes the process much less painful).

Some other selling points of the programme for me:

- 1-week modules, instead of one evening per week - much easier to organise if you don't live in Oxford

- No exams - for each module that you attend, you have one week of lectures, followed by an assignment that you have 6 weeks to submit the answers. Assignments demand a lot of time to complete, but I find it much more manageable when you are working than cramming for one big exam

- Flexible curriculum - to complete the course, you need to complete 10 modules plus a project (like a Master Thesis) in 2-4 years. But you have complete freedom to pick and choose any course from those that are offered (http://www.cs.ox.ac.uk/softeng/courses/subjects.html). So you can customise the programme according to your interests.

- Time flexibility - you can complete in 2-4 years. There are 3 terms per year, so you can attend one module per term and finish in 4 years, or if you have more time available, attend more modules in a term and finish in less time.

The downside of the flexible nature of the programme is that you have less of a feeling of "class of '19", or whatever the year of your intake. You will bump into people that are taking their first or last modules, and some of them you will only see once. You will still have the chance of going out for a beer with them, so I don't mean that you won't have a chance of networking.

- It is in Oxford, which is a pretty cool town to visit, and as a student you have free access to places like this: https://en.wikipedia.org/wiki/Duke_Humfrey%27s_Library#/medi...

Thank you! This is not only helpful but sounds like my ideal program in terms of learning, flexibility, and chance to explore something new.

I’m curious to hear about the SEM (I assume Software Engineering Mathematics) method of qualifying perhaps as a post-graduate (non-matriculated) learner — this taken from the other commenter. This seems like an ideal way to test out the structure and style of a classroom and qualify by achieving high marks before committing and fully applying to the program. Is this a thing that you’ve heard about? There isn’t anything on the website about qualifying for the program through this.

Also, what was the application interview like?

Email the programme office and start a conversation with them -- they're pretty responsive. My interview was just sitting down and chatting with one of their professors for an hour or so and we geeked out and it was fine.

> an ideal way to test out the structure and style of a classroom

My understanding is that all the courses are explicitly available to anyone who wants to take them and can be booked by members of the public, although expect there to be priority to matriculated students for very popular courses (of which SEM is _not_ one). They were about £1,400 each last time I checked.

I don't think I'm giving away anything I shouldn't by saying that SEM is the first 10 chapters of http://www.usingz.com/ taught in classroom form (see the course desc at: http://www.cs.ox.ac.uk/pro/subjects/SEM.html and compare to the TOC of Using Z), and certainly I benefited by having read and understood it first (which was very challenging, but also SEM has kept coming in useful at the weirdest times in my professional career).

For the opposite perspective: "The case against CS master’s degrees" [1]

[1] https://ozwrites.com/masters/

> In my experience, an MS degree has been one of the strongest indicators of poor technical interview performance.

Oouf. Felt that one (and I don't even have a MS degree).

Maybe stupidly, but with the super segmented world we work in, with massive systems, I'd honestly rather a few certs in whatever enterprise thing we are working with.
> In my experience, an MS degree has been one of the strongest indicators of poor technical interview performance.

I'll share a comment that I made when I read that article: please note _technical interview performance_. Not job performance. Because a MS may not teach you leetcode-style algorithms as a BS. Spoiler: OMSCS does, with graduate algorithms, which is in fact quite pointless if you're a mid career software engineer, but useful if you're a career switcher.

https://studiegids.vu.nl/en/Master/2021-2022/parallel-and-di...

This is the ONLY program I'd like to get into because so far it is the only program that I know deals a lot with hardcore malware analysis. There are probably more programs available but I didn't spend much time researching options.

Unfortunately this program is NOT online, and I'm not in Europe. ALAS! If anyone knows a similar online program in NA please let me know!

Good luck! I saw a few master's programs that had a specialisation or focus on information security, but that might not be hardcore enough for you.
Thanks! There are a lot of security programs but I feel half of them are law programs...
My advice to you - look at the top tier security conferences (CCS, IEEE S&P, USENIX Security and maybe NDSS). Find malware analysis papers that interest you. Look what universities the authors come from and see if they offer an online program. The university you link to above are research leaders in this area (H. Bos & C. Giuffrida), and in general this will usually be reflected in the quality of teaching available for a particular topic in a given institution.
Thanks man, that's a very good thought! I'll check the conferences.
Georgia Tech online masters looks like it does. I found this in the article author’s links when he breaks down the schools. Id really like to take this class too so it stood out to me.

https://omscs.gatech.edu/cs-6747-advanced-malware-analysis

Thanks! Love it, plus it is one of the most affordable program in top schools.

Me sending application of withdrawing a few grand to $wifie

OP may already possess a master's degree, school-of-life alumnus.

But I "get" it. I've thought of doing this too.

I would add one criteria: I get to do the whole master's degree using Rust.

I'm sure this would narrow the field of schools.

I want a master's from a school that recognizes that it's effectively over for C++ and Java. At least it's completely over in my own mind. There's no way in hell I'm doing a master's degree where the school's obsolete syllabus dictates those legacy languages.

This stipulation might garner considerable traction. This quirky old guy, with more industry experience than anyone on faculty, will run advance reconnaissance for us, which is something he's been doing much longer than our typical master's students have been alive.

Because let's be honest guys: it's all about Rust going forward. If you feel otherwise I respect that view, but you haven't seen the shit I've seen.

I'd do a Rust-centric master's degree in a heartbeat, and I'm sure I'd love every minute of it.

> There's no way in hell I'm doing a masters degree where the school's obsolete syllabus dictates those legacy languages

This applies not only to languages, but techniques, systems knowledge, documentation - everything about it really.

Part of the problem with selecting a degree on the basis of modernity is each course in the degree can be vastly different - some are up to date, others are 10 years out of date.

There's also a slight risk in doing a course in its first year, because the bugs haven't been ironed out.

I think you're looking at this from the wrong angle. A MSc is not supposed to teach you programming languages, because whatever you learn now will in any case be obsolete in 10 years. It's supposed to teach you fundamentals and how to think, which is timeless.

One of the most famous introductory CS courses in the world, MIT's "Structure and Interpretation of Computer Programs", was for decades taught using a programming language called Scheme, a dialect of Lisp that's wildly different from any mainstream language and is used for basically nothing other than this course. This was partly intentional, since it does a great job of shocking teenage hacker wannabes out of their "I already know language X so I'm hot shit" complacency.

So tech is a lot like crossing a river hopping from rock to rock. You make these leaps, and you try (or mostly hope) these leaps lead to a great career.

At the beginning, you're a 20-something person. You mostly don't get to pick your steps, especially if you're in the employed-by-others track.

Standing in the river on my rock, at this advanced career stage, I'm certainly not looking to "learn programming languages". That was long ago.

Right now it's all about picking the next leap based on the conviction that it's going to be a great ride in the future, which is much closer to sunset for me than most in this forum.

Spoken like an experienced software engineer and certainly not the type of person who is well suited for a formal classroom environment. But take a peak inside any of the Fortune 500 and you would surely walk back your assertion that it's effectively over for C++ and Java, regardless of how useful or elegant Rust might be.
Yeah I should probably clarify, I'm not looking to compete in a Fortune 500 job placement situation. Where I'm at, Fortune 500 calls me.

I'd do a master's degree because I'm curious as hell, and having tons of fun learning surrounded by smart people is all I want to do now.

Rust is fantastic for some problems, poor for others. If your alternative is C++, or you're doing something where you need to compile high performance code to wasm, go for it. If your alternative is Java and you're writing high level backend services, it might not be worth the cost, especially given the difficulty of finding / training experienced Rust programmers.
I would love to do this also, mostly because the Rust compiler probably has a master's degree worth of advice hidden in it and it would be helpful to have human guides to point out its wisdom.
(comment deleted)
I enjoy your hot take on Rust, but now I want to hear about what you've seen
I did sort of the opposite of OP, during my masters I stopped just about halfway in because I just couldn't justify the time investment needed to complete the program over gaining experience at the startup I was already heavily involved in.

I completed all the "fun" courses, the ones that really taught computer science, but the focus and attention I needed to complete courses like advanced logic and discrete mathematics III I just couldn't combine with a fulltime job. I'm no math wiz, so those courses were really tough for me.

I now realize there's other universities that have less maths and more of the fun stuff, but even still say I wanted to jump to another specialization if I had 2 full time years to do it I could spend my time so much more efficiently than at a university.

What I remember most in general from my undergrad courses is that most the "fun" ones are the ones where I already was interested in the topic to the degree I knew something about it or if I didn't it's obvious I would have learned something if it was brought up at some time.

The "not fun" ones on the other hand are the ones I remember the most from because those memories aren't competing with lots of other exposure to those concepts and thus they left a lasting impression that I might not have gotten any other way.

Going down the path of "fun" might be easiest and overall more enjoyable, but it also ultimately might be less fulfilling in the end. Your mileage may vary, of course.

> The value of a MSCS for me is that I think it would get me more interesting jobs that pay more.

Unfortunately no, not really.

Maybe not more interesting to you, but possibly more interesting to me!
What I mean is the jobs that you can get with a master's degree you can get just as easily with a bachelor's degree. The advanced degree really doesn't make a difference.
People always say this but I don't think you have experienced the other end in practice. There are countless job postings in the AI/ML/DS space for example that explicitly want people with MS or PhDs and recruiters will happily tell you that straight to your face. Hell I was just passed up for a Director of DS position and they explicitly said it was because I don't have a PhD!
I don't think that's true. I have seen job descriptions for Director or VP that require a master's degree in CS.
Miss me with that credentialism. I look young, talk like a kid, and my team respects me as the lead/architect/business facing engineer.
As someone who has a MS in CS (I did a combined BS/MS program) and who interviews lots of people, I don't think a MS in CS has much value as a credential (if any). If you enjoy taking classes and get a lot out of them, that's primarily where the value will be. It definitely helps a ton to have a undergraduate degree. CS is great, but if you have been working in the industry for a while, most people do not really care what your undergraduate degree was in, either.

Is it a cure for imposter syndrome for those who think it's due to not having a CS degree? I don't know. It's a very expensive cure (in time and money) if so.

No degree at all here. I don't think it prevented me from attaining any job.
You won't even get a reply (from employers where folks want to work), such as Netflix, SpaceX, JPL, most other BigTech without a CS/IT/EE degree. Resume goes straight to /dev/null.

Basically anywhere where you have to compete with a lot of people, it is the first filter to cut the stack from 100 to 50.

I’m an engineering manager at Netflix and this isn’t true. I’m really proud of the fact that a lot of colleagues come from so many different backgrounds.

I’ve seen data scientists from political science backgrounds, UI engineers who studied literature and philosophy, and I have a CS degree myself, but I’m originally from the bioinformatics space.

Never received a reply from the Hollywood office, over the span of three to five years, despite 20 years of VFX and internet co experience. Others have said the same.

Now, networking is a thing of course. Many people get in that way, but for J. Random Applicant reading this, not an option.

> Netflix, SpaceX, JPL

Interesting list of examples, I wouldn’t necessarily have grouped these together?

Have you applied for these at some point? I haven’t, but the emphasis seems quite different at each company

Yes, they are close by. JPL app was rejected within 5 minutes. Grapevine tells me they discourage talking to folks with "just a" Bachelor's these days.
There are different kinds of MS degrees. Some take people with no real cs knowledge, and some are stepping stones to a PhD. The latter is a very valuable credential, as it indicates deep technical and theoretical cs knowledge. The interview should be able to elicit this
Does anyone have experience with the step down from this? I have zero formal CS education but two decades of experience at pretty much all types of development. I live within spitting distance of my local state university (UNH) and don’t really care about any piece of paper, but I would love to take formal/ hard CS classes, whether for credit or audit. Is there a “right” way of doing this? Does it make any sense?
Why not just go through MIT's open courseware syllabus, or perhaps emailing/contacting a university teacher for guidance?
(comment deleted)
Without the rigor/ expectation of formal classes, I always wind up trailing off.
Looking at the course listing for UNH ( https://ceps.unh.edu/computer-science/program/bs/computer-sc... ), I'd suggest auditing (I imagine that's cheaper if you're not looking for a degree?) some of the following: Data Structures and Introduction to Algorithms, Assembly Language Programming and Machine Organization, Introduction to the Theory of Computation, Operating System Fundamentals, Algorithms, Programming Language Concepts and Features, Compiler Design, Systems Programming, Formal Specifications and Verification of Software Systems. Those are the ones that look like more formal CS, and gets you into at least an intro to fun formal/theory stuff like automata, grammars, low-level programming, functional programming. Performance Evaluation of Computer Systems and Mathematical Optimization for Applications also look fun to me, or you may be interested in some of the other electives too like Computer Vision, ML, etc.

If that's local, affordable, and easy, I wouldn't worry too much about looking for something "fancier" right off the bat, I think there's a lot to sink your teeth into there. There's a lot of stuff online too on all these topics of course, but if you're like me, that's not the same as taking a live course.

I did a four-year CS degree after about twenty years in industry. I learned one thing, which I do not use.

My recommendation is don't waste your time and money unless you have a specific goal in mind or want to go on to a master's program - which I also generally don't recommend unless, again, you have a very specific goal and no other way of accomplishing it.

I recommend you email or call the admissions team for programs you’re interested in. I did undergrad in CS and business and was interested in a different engineering discipline masters after quite a few years of unrelated work. The responses varied significantly among the programs I looked at, but the admission teams were all helpful and clear on requirements & expectations.
I taught my spouse to program when she decided to change fields, and did a similar thing where she wanted to master the advanced stuff by taking classes (she took them for credit on the off chance she needed it in a masters program) The classes she took were equivalent to three classes majormajor suggests:

Data Structures and Introduction to Algorithms: everyone needs this and it is maybe 50% of leet code problems

Assembly Language Programming and Machine Organization, Introduction to the Theory of Computation: this is the low level of how computers really work

Operating System Fundamentals: concurrency programming plus a lot more useful stuff

I think it is definitely worth it. Good luck!

> Data Structures and Introduction to Algorithms: everyone needs this and it is maybe 50% of leet code problems

What’s the other 50%? I’d have thought DS&A would cover everything.

A standard Introduction DSA course will generally not cover advanced DSA stuff like segment trees or Heavy-light decomposition, or theoretical stuff like number theory, or computational geometry all that stuff you would find in the competitive programming space.
Are there companies that ask a lot of leetcode bards in their interviews? That seems like overkill even for FAANGs though I can see why some groups might do so purely to filter by Math ability/interest.
From what I've seen and heard: Salesforce, Codenation, Wells Fargo, DE Shaw, so basically Hedge fund/finance or teaching/coaching/consultancy.
> segment trees or Heavy-light decomposition, or theoretical stuff like number theory, or computational geometry

I am not sure if there are any problems on leetcode that require any of these, but based on a sample of a few of their contests, if they exist they are a very small fraction (<<50%) of all problems.

The vast majority require:

- no DS&A knowledge whatsoever

- basic techniques (recursion, simple graph/tree algos, binary search, simple dynamic programming)

I do CP on various sites so I don't know if it's for Leetcode in particular. But some companies like Salesforce or DE Shaw or Codenation do include advanced problems on their tests.
I think I know more about interview questions then leet prep, but I find the remaining 50% is specific to the job but in the same vein as data structures and algorithms. So in game programming maybe it is a path finding problem or 3d math hit detection. In backend it’s an algorithm about network flow or caching. Still data structures, but more practical for the role!
The school where I earned my CS masters required those with non-CS undergrad degrees (like myself with a BS in a hard engineering field) to take 12 semester credits of additional coursework to make up for this fact. I'd say those three subjects account for about 9-10 of those credits. I suppose you could say they're important.
Off topic, but the fact that three schools are tied for #2 and three more tied for #6 in these grad school rankings (and FIVE tied for #11) strikes me as a hilarious commentary on the arbitrariness of these rankings. Like, if you weren't fudging the numbers some, but were trying to come up with real scores, you'd have that many exact ties?
I think the author did the right thing here: pick an arbitrary cutoff like top 20, and assume that within that bucket they’re all pretty good, without worrying too much about the specific ranking of each school.
This is fine. Ties just mean that the scoring has fairly low resolution. There's nothing inherently wrong with that. Heck, "close enough to call them tied" may be a better representation of reality than trying to separate them by a third or fourth decimal digit.
Also did OMSCS. Highly recommend it. The problem with self-learning is that sometimes you convince yourself that you understand something when you really don't.

Only when you get smacked by an exam or an assignment you realize that you've been fooling yourself.

The ML and Systems track is pretty hardcore. If you survive those you have pretty good foundational knowledge.

Fair warning though - the program is not a joke. Georgia Tech always leans towards application. You will spend a lot of time writing code and tinkering, but it's worth it if you want to learn a ton.

Current OMSCS student here (4 classes down, 6 to go). I'll second this comment, so far I've been impressed with the program. It's definitely rigorous, but I've already learned a lot.
One reservation I have when I read about these MS programs is that they often sound like they will be heavy on group work. I see where that is valuable to prepare people just starting off in their career, but as someone who has been doing "group work" for the past 10 years irl, I'm not really interested in the mock UN version of having a day job.

Have your classes been built around group projects, or can you go it alone if you're doing it for kicks? I'd love to spend some time studying CS and end up with something to show for it, but I'm not interested in group-work-as-workplace-prep.

The only time I did group work was for the Deep Learning class (2-4 people) and my group members were excellent. Other than that one, no group work for me.

The key is to pick classes that are hard, and form groups early. People that reach out earlier usually have their shit together.

You can pretty easily build a solid curriculum that involves 0 group projects. Some classes have optional groups
Do you need an online course to give you “assignments?” (AKA exercises, as they don’t really need to be assigned.)
is mscs recommended for frosh?
Slightly surprised that Harvard's School of Extension Studies didn't make the cut.
So, one of my criteria is a credentialed master's degree at the university, available 100% remote. I don't see a master's degree in CS or software engineering on their site. Also, it seems like the degrees they do give are from "Harvard Extension", which is also something I don't want.
It's also not 100% remote, as they require at least 1 on-campus class.
Hi Evan, they do have a masters in software engineering through the extension school. I'm currently working on my degree there. It's not 100% remote. I'm very happy with the school though. Anyways, here's the link for the masters program : https://extension.harvard.edu/academics/programs/software-en...
Wow, thanks! That does look really good. I don't like "Extension", but otherwise it seems solid. The price tag sounds like they consider it a valuable commodity.
Yeah, just want to clarify, I'm working on an undergrad. I don't like the extension part either. But no other "brand name" school offers undergrad (mostly) online. My company does help pay for it though. Undergrad is a little cheaper than grad, but not by a lot.
I got mine through Auburn distance learning. The main appeal to me was that it was the same degree as in-residence. You were just watching the classes online. This was pre-COVID, so many more universities may do this now, but it seemed rare back then. I really enjoyed it. Also, to caveat, This masters was in Software Engineering, which is obviously different than Computer Science (one of my undergrad degrees).

I've also seen people mentioning if they were going to get a masters they would do so in a different field. I just finished one in policy. I learned much more in this masters than I expected. I realized there are many games to be played, this article was posted to the top page this week and resonated because of it https://news.ycombinator.com/item?id=31267685

I did my masters of Computer Science at University of Pennsylvania mid career. It was the best career decision I ever made. Prior, no company would give me the time of day - couldn't get a phone screen. My TC prior was 60k, and doubled a few weeks after graduation. Doubled again within a few years. I was going no where, maybe some don't need it, but I did.

Was it hard? extremely. a lot of concepts were very old in my memory, but it was also a lot of fun. I enjoyed going to class every day.

Thanks for this! It's extremely helpful and motivating. Congratulations on your achievement!
Thank you for this, it saves me a lot of research; I have been considering going and getting a masters.