
The case against CS master's degrees - ozanonay
https://ozwrites.com/masters/
======
bryal
Not everything has to be about work and employability. Some of us actually
enjoy learning and exploring the more theoretical topics in CS.

~~~
theamk
Sounds like you should be doing PhD then?

At least in my university, MS students were usually paying full tuition, with
the understanding that they'll take classes and leave for (presumably) high-
paying job.

On the other hand, PhD students were usually paying no tuition at all --
instead, after getting their masters-equivalent, they were expected to do the
research for a few years and therefore "pay back" by advancing the science.

(of course the fun fact was that one could drop out half-way from PhD program
and get a MS degree.. but this did not happen very often)

~~~
bryal
Indeed, I've been considering getting a PhD. The situation in Sweden is quite
different to yours however. To begin with, all university education is free,
and we further get a student grant of ca. $300 USD / month and access to an
almost free student loan for up to 6 years. PhD students all get a salary of
ca. $3k USD / month. Also, here you don't get a PhD "instead" of a master's --
a master's is rather a prerequisite to getting a PhD, in practice if not
formally. Generally, the path to a PhD in Sweden is: 3 years for bachelor's
degree -> 2 years for master's -> 4 years for PhD.

------
alexktz
My CS masters completely changed my life. Would 100% recommend if you are open
to learning a bunch of cool stuff.

~~~
kixiQu
* if you are open to paying tens of thousands of dollars for learning a bunch of cool stuff

~~~
alexktz
Mine was £5000. UEA in the UK.

It has paid for itself many, many times over since then.

------
_wldu
The Georgia Tech OMSCS program is very good and affordable (10K or less). It's
also the 7th ranked CS program in the world. And, you can and do interact with
professors, not just TAs. I'm an OMSCS grad. I would do it again and strongly
recommend it. I think programs like it are the future of higher education.

~~~
daniel-thompson
OMSCS student here. I agree with the parent. However, the one downside of the
program is that since the marginal cost of admitting an additional student is
very low relative to the tuition amount, GT has an incentive to not be very
selective about who they let in. From a democratization-of-educational-
opportunities perspective, that's good: if you can hack it, then you can hack
it, regardless of what formal qualifications you might be missing. But this
program is the real deal courseware-wise, and that results in a lot of those
under-prepared students taking classes that they just can't keep up in. Lots
of those students end up washing out of the program... after paying GT a
semester or two of tuition.

Example: in the Intro to OS course I'm about to finish, we started with 700+
students and are now down to about 340. The projects are typical schoolhouse
stuff for systems programming: C programs that manage memory, use sockets, IPC
constructs, pthreads, RPC libraries, etc. One of the guys on the class slack
just posted that when testing & debugging the projects, he just printed stuff
to stdout... for the whole semester... because he doesn't know - and didn't
bother to learn - how to use a debugger.

~~~
throwlaplace
>One of the guys on the class slack just posted that when testing & debugging
the projects, he just printed stuff to stdout... for the whole semester...
because he doesn't know - and didn't bother to learn - how to use a debugger.

Lol that's like the best way to debug C

~~~
yks
yep, 10+ years in industry and that's how I usually debug (and I know how to
use a debugger).

------
gedy
I really enjoyed Electrical & Computer Engineering, and took CS classes as
electives. Felt the math and engineering courses grew my brain, and the CS
courses were enough to get me into software. The CS majors I knew seemed to
enjoy their choice less!

------
supercasio
It's sad that his page about self-studying CS [1] does not include any book
specific to the Theory of Computation and Computational Complexity.

[1]: [https://teachyourselfcs.com/](https://teachyourselfcs.com/)

------
liquidify
I did a non-cs undergrad to cs grad path... It was hard. I wasn't admitted to
the program without fulfilling almost all the core CS undergrad classes. This
meant that between the prerequisites and the actual grad classes, I took over
120 credit hours of pure math and CS classes over the course of 5 years.

Obviously not every school has the same demands as others, and there are
certainly a lot of degree farms that take foreign students money and funnel
them though, but I'm not sure that the authors points ring very true...
certainly not for everyone.

------
HeyLaughingBoy
And then there's my old manager who found a negative correlation between a
programmer's ability and them holding a PhD in CS. FWIW, he had a MS in
Software Engineering himself and he said that the correlation only seemed to
hold for CS PhD's, not PhD's in other sciences. My department had a number of
PhD's, but only one in CS and that one was hired a few years after that
manager left.

Correlation isn't causation and all that, but it does bias you a certain way.

------
commandlinefan
What masters degree (or even undergraduate degree) is any of that not true of?

~~~
Rury
Yeah, past a certain point you realize how shallow degrees are, as they're
merely an organization's approval that you studied something and demonstrated
some level of aptitude of it.

Which is to say, you don't need a degree to study/learn things.

Though that approval is helpful in opening doors to employment when you're
young, it again is not needed when your history of experience, abilities, and
work can do the same later in your career...

------
xhkkffbf
I hate to be super-negative, but I'm not even sure a bachelors in CS is a good
idea. Oh sure, you learn a few good things along the way, but then the
professors start dragging you down their favorite theoretical paths. I'm all
for philosophizing and navel gazing, but there's not much practical in things
like lambda calculus, NP-completeness and some of the other topics. To make
matters worse, these pursuits can confuse the brain. I know one fancy CS major
who dismissed a problem as unsolveable because it was NP-complete. He missed
the fact that the dimensions of the problem were such that a quick heuristic
did perfectly fine.

The sad thing is that large parts of the curriculum aren't that valuable. Data
structures used to be my favorite, but today it's not that important because
we stick everything in hash tables or database tables. We rarely use LISTS!

The same goes for compilers. No one writes a compiler any more. Apple just
repurposed LLVM when they made Swift. But all of the undergraduates have to
pull their hair out making toy compilers and for what end?

Most of the CS curriculum is pretty extraneous. This is why many companies are
deliberately hiring technically competent people from tech fields like physics
or chemistry. They learn practical skills to analyze their data-- the kind of
practical skills needed by corporations not theory heads.

~~~
bobbyz
In my experience, the biggest reason doing a bachelors in CS sucks is because
it's a massive waste of time, leaving little to no time for side projects.
Programming assignment questions tend to be vague and come with poorly scoped
requirements. Usually the professor also forgets to tell you several essential
details or has made several errors in the code. An average assignment can take
upwards of 40 hours, with 10 or more of those hours spent because the
professor was too lazy to check over their assignment for 30 minutes before
handing it out. The saying that A students work for C students really makes
sense in this context. A students never got the chance to work on what they
wanted!

~~~
adamredwoods
At U of Washington you get to choose your own senior project (so I've heard
firsthand).

~~~
bobbyz
Thats actually pretty cool. I actually go to the other UW and watch jealously
as startups are regularly birthed from capstone engineering projects.

