[HN Gopher] The case against CS master's degrees ___________________________________________________________________ The case against CS master's degrees Author : yla92 Score : 53 points Date : 2022-07-15 21:03 UTC (1 hours ago) (HTM) web link (ozwrites.com) (TXT) w3m dump (ozwrites.com) | kache_ wrote: | I was about to write a blog post against CS masters degrees. I'm | going through a pretty ambitious gauntlet autodidact process. | Some background: I already have a CS undergrad degree. | | - I've found all the online courses I would ever need, alongside | high quality video courses (MIT, standford, 3b1b) + books | | - A masters costs money & too much time (my time is better spent | than getting an application together) (Opportunity cost of not | working is too great) | | - Arbitrary wait time (I have to apply like, 8 months in advance | to starting? https://en.wikipedia.org/wiki/Mathematics is | available right now) | | - I already know 80% of the stuff in a CS masters from building | systems and learning how they work (looking at the syllabus of | various online masters degrees) | | - My employment history is much better for future employment | opportunities than a masters ever would be. Getting a FANG job | not only pays you, comparatively to a masters degree. It's also a | much better signal than "cash cow online masters program" | | - I can publish papers at my company if I wanted to (Not being | gatekept from becoming a researcher) | | - My workplace has a mathematics "guild" who I can outsource | questions to whenever I want. Otherwise, I can go to /sci/'s math | general or stack exchange. | | In university, I learned the computational algorithm to pass the | lin alg exams, and that took _eight months_. Being an autodidact, | I relearned the true essence of lin alg in _two weeks_. Now, I | can derive any computation lin alg operations from first | principles. I 'd even argue that _undergraduate_ degrees are a | waste of time. Mandatory electives? Give me a break. After going | through this autodidact process, I 'm actually offended by how | much time I've wasted in HS & uni. | | I'm basically redoing an undergraduate math degree + a CS masters | + building real projects throughout it, all in the fraction of | the time frame. At my current speed, I'll be finished learning | all what I want to learn in ~2 years, while maintaining a pretty | demanding FT SWE job. The knowledge provided in both highschool | and university can be obtained in the fraction of the time, on | your own. At the end of the day, the only thing that matters is | what you can engineer & build with your knowledge. | | Universities are a meme in 2022. They're largely mechanisms to | filter out the "peasant non-educated" class, through a proving | function that can only be passed by coming from a family with | enough resources. | | I'm DONE being slowed down by institutions | ModernMech wrote: | Sounds like you're very smart and self motivated, and you're | good at figuring things out without any help. As a teacher, | this describes about 1% of my students. | | Your post here really isn't an indictment of higher learning | institutions, so much as it reveals you aren't the target | audience for master's programs. That it's not for you | personally doesn't mean it doesn't work for others. | zeckalpha wrote: | Any discussion here needs to factor in access of immigrants and | under represented people to tech jobs. | rootusrootus wrote: | IMHO the best reason to get a master's is because you want one. | For you. Not to fill a spot in a resume or check off a box on | some application. You can go learn all of it yourself with self- | study if that's what you're after (much of the curriculum and | lectures are freely available), and I really think the value to a | potential employer is fairly limited aside from some narrow | corner cases. And if you fall into one of those cases you | probably know it already. | | So get it if you think the feeling of satisfaction and | achievement is worth it. The major cost by far is not money, but | time, be aware. | coletonodonnell wrote: | I'm currently getting my BS in Computer Science with the | University of Florida's Online Program, and I think that there is | a duality between academic CS and applied CS, where the overlap | is massive but college isn't particularly required. I find that | many courses and tutorials online cover the topics well. Although | these non-degree courses may not be of equal rigour, I leave them | understanding the fundamentals needed to succeed in say an | internship. By self teaching, I have proven that I know enough in | my Freshman year of college to acquire an internship. | | That being said, I think that someone with CS knowledge is always | going to be more valuable than someone without. I really like | teachyourselfcs, while in high school I skimmed a lot of the | material preparing for what I had in store. I think that it's | entirely possible to get good at CS with this method, but the | issue is feedback and the stress associated with self teaching. | Self teaching isn't always so glamorous as it is made out to be, | a lot of people need the backbone of an actual program with | structure than be thrown into a text book with courses that may | go along with said text book. I think that entirely dismissing | degree programs is equally as unwise as saying they're required, | there is a lot of gray between the lines and I think that people | should approach the issue with their strengths and weaknesses in | mind. | muh_gradle wrote: | Doing the OMSCS program for Georgia Tech and interviewers always | comment on how that's impressive. It's a rigorous program, and I | definitely think it's helped me grow as a developer. | pm90 wrote: | On the Contrary: A Masters Degree is often _easier_ than an | undergrad degree. You get a lot more freedom to do whatever the | fuck you want. In most Universities, Masters students can teach | /do research and get tuition forgiveness. | | If you want the experience of being in a college campus for a | while without the bullshit involved in {undergrad, phd, jobs}, | Masters degrees are the perfect middle ground. | | I did a Masters degree. I didn't do very well on some courses, | really loved others, learned how to read academic papers and what | research would look like if I wanted to do a PhD. But I also had | enough free time to make friends, hang out and go on road trips | and parties. It was a lot of fun! | xwdv wrote: | This is pretty much the real reason I'd consider pursuing a | Masters degree. Being in an academic environment for a while | sounds fun, even if the resulting degree is fairly useless or | redundant. I'd love a second chance to be exposed to people who | could become new friends, while also learning a thing or two | maybe. | groestl wrote: | I can second that - exactly my experience, and I did my Masters | in Austria. | havblue wrote: | Personally, my undergrad was in electrical engineering so I | always felt a little behind as a software engineer. Getting an | accredited Master's in software engineering from Harvard | extension gave me more confidence in a lot of the classes I would | have taken in undergrad. Not to mention, development has moved on | in the time since I took my undergrad, so it was kind of a mid- | career refresher. There are definitely jobs that like seeing a | Master's as well. So in my case I think it was worth it. | fortran77 wrote: | I have a CS masters. I got it because my undergrad degree is in | math and I wanted to round off my skillset with some CS. I don't | know if I needed it, but I enjoyed getting it. | | The only problem with CS masters is that there's a CS Ph.D. So it | really doesn't have a lot of value when competing for jobs. | denvercoder904 wrote: | The author of the article should replace software engineer with | software developer. Not being a gatekeeper but this is the proper | term for the role described in the article. | hiram112 wrote: | Maybe 10 years ago I would have been impressed with any candidate | with a masters from a legit CS department. | | However, in the last 5 years I've worked with numerous engineers | with masters from both "prestigious" universities and also the | typical "cash-cow" degrees that are so common today. | | One of my previous devs had a masters from a "public-ivy" in | computer science, and he honestly was not qualified for anything | more than basic CRUD "enterprise". Hate to say it, but he was | obviously pushed through the system due to his race and the need | for these schools to fill diversity quotas. | | Also, I knew a public school middle school teacher - she was | bright but had no formal math or engineering or CS education | beyond basic algebra with her teaching degree, no programming | experience, etc. But she had been able to obtain a masters in CS | from a top 10 program via some "Masters in CS for Public School | Teachers" program. I also took a few masters courses from this | university, and they were extremely difficult, even for me who | has a lot of experience and a solid CS bachelors. | | For example, some of the qualifying courses included programming | MIPS in assembly language, binary numbering systems, algorithms | with assumed knowledge of Big O, data structures, dynamic | programming, etc. There is _no way_ anyone without both a good | undergrad CS degree and some dev experience could legitimately | pass these courses, especially when the program was meant to be | done by professionals who were already experienced developers at | night / weekends - so I assume she was pushed through with a | "wink wink" from the administration. | | Finally, the hordes of foreign students getting degrees from | cash-cow programs in order to remain in the US or obtain OPT | visas ensure that nobody respects a Masters in CS anymore. Now | that most of these are online, they're even less legit as you | know these programs are plagued with cheating, fraud, etc. | nkozyra wrote: | > For example, some of the qualifying courses included | programming MIPS in assembly language, binary numbering | systems, algorithms with assumed knowledge of Big O, data | structures, dynamic programming, etc. There is no way anyone | without both a good undergrad CS degree and some dev experience | could legitimately pass these courses | | What? Of course you can. Like any other subject it takes study | and practice. | | What happens very often in school, though, is you focus full | throttle on the subject matter to get a good grade. That | knowledge is extremely fragile, likely to be lost to the wind | within weeks. | | Day-in, day-out experience solidifies that knowledge, but you | can pass nearly any CS class with bare minimum Python and | surface level linear algebra / calculus knowledge. | | I have an MSCS in machine learning and am not practicing daily, | so if you ask me to do linear regression without a library I'm | gonna be in trouble. | | I'll probably struggle with Big O on some algorithms without | putting a lot of thought into it. | m_nyongesa wrote: | My experience: I was interested in machine learning and was | working in industry with no CS background. I was accepted to an | MS in CS based on my undergraduate work and also programming | experience. The program was in-person, not online. Through the | courses and contact with professors both in CS and in other | departments (Mathematics, Statistics) I developed a far better | understanding of the field than I would have without being at a | university. | | All of the courses were the same regardless of whether or not you | were an MS student or a PhD student. Professors actively | encouraged MS students to continue on to the PhD. | | The article says "If your undergrad degree was in some other | field, you can get through an MS in CS without ever taking an | algorithms or data structures class." In my department you had to | take a minimum number of courses from a few categories. For the | category that included the Algorithms course, I would say at | least 90% of all students took that course rather than the others | on offer. It followed CLRS and moved really quickly for someone | with no undergrad background like me. The course had no | programming in it so I have no idea what the author is talking | about when per mentions programming experience. | | I think if the program were online it would have been harder to | have the multidisciplinary experience I got in-person. But for | people who didn't want that aspect of it, I think an online | program might work just fine. | itsmemattchung wrote: | The author is correct: you do NOT need a (masters) computer | science degree to advance your career. I've worked with plenty of | stellar principal software engineers -- some with Phd degrees in | CS, some with no formal education, most in between. | | And while I am a life long learner and continue to self-teach | myself a range of topics that pique my interest, Georgia Tech's | OMSCS masters in CS was such a pleasant experience, a rigorous | one at that. | | Hard to beat the sticker price < 10k too. | f17 wrote: | I'm guessing the OP is bashing OMSCS based on Reddit comments | from people who tried a course, found it difficult (because, | hello, it's _actual graduate school_ at a real university), | gave up, and are now spreading negativity on the internets | about something they only gave a half-assed try. | | Sure, there are negatives of learning at-scale. Grades are | going to be exam-driven (noisier) because papers/independent | projects don't scale as easily, which means there's a chance | that you do everything right and get a B. Sure, some of the | videos are a couple years out of date. Overall, though, I've | taken two GT OMSCS courses and so far the quality has been very | high... and the professors, in my experience, are also | constantly trying to make the experience better and more | flexible. | itsmemattchung wrote: | Great to hear. Which two courses have you taken so far and | have you decided on your specialization? I had specialized in | computing systems and the courses -- especially compilers -- | was top notch. | f17 wrote: | GIOS Spring '22, AI Summer '22. | | Really excited about Compilers. I've heard it's very good. | Haven't decided on a specialization yet; I'm still in that | phase where everything looks interesting. TBH, there are | ~20 courses that appeal to me, although if I still feel | like I want to press on after 10, I'll probably look into | pursuing a PhD. | dieselgate wrote: | For the most part I agree with the author and have heard similar | sentiments from people with an undergrad cs education. I wish | people would talk more or elaborate on what it "means" to be | "self taught". To me, taking a course on a subject is basically a | subscription to being exposed to a defined set of material. | Whether an individual learns that material is up to them (is this | considered "self teaching"?). Formal education (with or without a | degree tied to it) can lower the activation energy of learning. | But it is by no means the best way to learn for everyone. | anewpersonality wrote: | I would do a masters degree if it could help me be more creative | and synthesize new ideas. | | Does OMSCS do this? | nix0n wrote: | Most new ideas build off of existing ideas, so if you want to | make new ideas, one way is to learn all of the existing ideas | in a particular field (and a few ideas from other fields) so | you can reuse those ideas in novel ways. | | If you have some idea of what you'd like to have ideas about, | research in that field is definitely something you can do as | part of a Masters. I can't speak to the OMSCS specifically, but | many in-person Masters actually require research. | | Don't get suckered into a PhD program, though. | dwrodri wrote: | Lots of valid criticisms here against academia, but I'll take | this time to get on a mini-soapbox about communication skills. | The biggest value-add I honed over the course of my academic | career is my ability to communicate technical topics. Now, that | isn't to say every master's student or CS degree holder is | definitely better than a bootcamp grad at tech comm, in fact the | winning combo there would be a communications/english degree + | bootcamp for entry-level positions. | | And this isn't just making presentations and writing | documentation. It's making effective use of your time in | standups. It's conversations about your future relationship with | your employer. It's knowing how to ask the right questions to | weed out bullshit when digging through other technical | documentation respectfully. It's taking a bold new idea that | entered your head and figuring out _which_ way would be the best | to envangelize it at your organization. | | I think in an ideal case, a master's degree in a computing | discipline hits the intersection between intense training on a | subfield of computing that can be difficult to break into (e.g. | statistical machine learning, robotics, formal methods, | cryptography) and your demonstration of your "mastery" is taking | a cutting edge concept in that subfield and demonstrating mastery | through effective technical communication in the form of a | project/thesis. | | A master's degree isn't guaranteed to make you a "better" | programmer, but I would really hope that it would make you much | more familiar with the field, and also teach you how to take that | familiarity and leverage it to become a more effective | communicator. | f17 wrote: | _It 's making effective use of your time in standups._ | | If you have an advanced degree and your job is making you do | standups, you should get another job. | distrill wrote: | most of the eng on my team have masters degrees, and we have | standups. this is common where i work and i assume other | faang | f17 wrote: | You should aim for a research environment where you don't | have to justify your existence to some "product manager" | every 24 hours. Take it from me as an old person: if you | work in stupid environments in stupid ways on stupid | stuff... what happens is exactly what you'd think would | happen. | sirmoveon wrote: | Common to you means right? That was a good point, an | olympic swimmer trains to swim not to explain how to swim. | lmm wrote: | Standups are the worst way of doing status updates except for | all the others. For me an environment without standups is at | least a yellow flag. | adamrezich wrote: | previously: https://news.ycombinator.com/item?id=22937759 (April | 2020, 25 points, 45 comments) | t_mann wrote: | Someone without a formal CS education who's selling programming | courses telling you that formal CS courses don't necessarily | teach you programming (duh). | | He has a point that if you do a Master's you _might_ be going | without the extremely useful basic algorithms and data structures | courses, but that is easily avoided by choosing a program that | lets you take that. For other topics that aren 't strictly | programming, eg AI, ML, game theory, cryptography, quantum | computing, probabilistic methods, optimization,... it would take | a significant amount of dedication to match the amount of | understanding that a rigorous course with problem sets can give | you in self study. | kache_ wrote: | > _For other topics that aren 't strictly programming, eg AI, | ML, game theory, cryptography, quantum computing, probabilistic | methods, optimization,... it would take a significant amount of | dedication to match the amount of understanding that a rigorous | course with problem sets can give you in self study._ | | You mean, the same amount it would take to do it through a | university program? I fundamentally don't believe the material | is unavailable. If you've done a CS undergrad at a respectable | university, you should have enough instinct to build a | curriculum to become well versed in those subjects | | I am going through the autodidact process for all of those | subjects (except quantum computing) (yes, it's brutal, | especially alongside a FT job). But with the amount of MIT open | courseware, books, and frankly, just wiki pages available, it's | been _easier_ than doing it at the pace of a university course | f17 wrote: | _For other topics that aren 't strictly programming, eg AI, ML, | game theory, cryptography, quantum computing, probabilistic | methods, optimization,... it would take a significant amount of | dedication to match the amount of understanding that a rigorous | course with problem sets can give you in self study._ | | Also, you're going to have an _extremely_ difficult time | getting to work on that stuff without a degree, given that even | PhDs often end up on regular business bullshit. | iskander wrote: | My experience: The first two years of my CS PhD program, which | overlapped significantly with the MSc program, were extremely | engaging and pushed my intellectual boundaries much harder than | OCW or any other online content. | armchairhacker wrote: | CS degrees give you an academic understanding of CS: theory and | how the things you use actually work. This can be useful | knowledge but isn't necessary. So CS masters degrees are good but | also shouldn't be necessary for getting a job. | | However you should still require at least a basic "academic" | understanding of CS, since that is discrete structures and | recursion and other stuff you pretty much need to know to write | good software | master_yoda_1 wrote: | I fell for this bullshit before i read the last line "This is | what we have designed the Bradfield Computer Science Intensive to | be." | blabla1224 wrote: | The IT bar to entry the industry is lower than it used to be so | you really do not need CS degree to become a developer, I think | that with a time as the supply of these workers increases the | value of University degrees will be restored as well as the | meaning of a term of engineer. | turns0ut wrote: | Things must be well engineered and they can be without calling | a person an engineer. | | IMO we should focus on defining what well engineered means in | contexts where a thing must be engineered, not handing people a | sigil of power to exploit. | hooloovoo_zoo wrote: | Worth pointing out that both the author and the lead quote are | selling alternatives, and neither have actually done a masters in | CS. | szundi wrote: | I think the article has a sentiment that academia is wasted time. | On the contrary. Of course it has its points, I agree. | | I am a self-taught programmer who got later a CS degree. Also a | self-taught entrepreneur who later (almost) got an MBA. | | My experience is that these are much more valuable for people who | already know how to do the stuff but missing the jargon and | thoughts of a crowd of exceptionally brilliant people lived | before us. I am talking about the scientists, inventors of | algorithms, math, bookeeping, all the concepts. How faster you | can tell complex thoughts when you just have the vocabulary to | use. How do you even present a spectacular idea if you have to | spend half an hour explaining something that you should have | known has a name. | | I never understand how some people get the hubris to think they | can do better without all this. Of course if they feel they could | not have used all these in their professional lifes - probably | getting a degree would have been a waste of time for sure. Some | of these folks of course are quite capable and can and will do | big things. Also sometimes you have situations when you have to | choose between your startup company and the degree. We know some | successful dropouts. Still, I think there is big value here. | blamazon wrote: | I think it should be noted that the Georgia Tech Online Master's | in Computer Science (known as OMSCS) mentioned in the article | costs about 7,000 USD, all-in for a 5-semester program. [1] This | seems to me an amazing bargain for a Master's degree from a | respected institution in the USA. | | [1] https://omscs.gatech.edu/prospective-students/faq | Whinner wrote: | They also have an ms of cybersecurity. Depending on the track | you take, it can end up being 9/10 the same classes needed for | the CS degree. | | I'm currently enrolled and will say the networking is the best | part. I've found a group of about 50 people in a private slack | scattered all over the world. We all bounce things off each | other. | chrisseaton wrote: | > Unfortunately, MS programs are nominally designed to build upon | corresponding BS programs, so most CS master's programs will | expect you to already know the very things you'd like to learn. | | Does the author know about conversion masters? | sahila wrote: | This post seems light on any actual data between the difference | on individuals who have a CS masters and not, and instead argues | against getting one on a few aux points: | | * Opportunity cost | | * two tweets of HM saying they don't find it useful | | * cs masters aren't geared towards non-cs college grad students | | * professors don't know how to handle online teaching | | * programs are cash cows (mentioning two non-top-cs programs) | | To address the core point about whether those with a masters from | a top CS program (say top 20) vs self-taught _on average_ do know | more about programming, in my experience they do! Topics like how | programs work (interpreted vs compiled languages, memory | management), how a program talks to the OS and underlying | hardware, and even topics on AI/ML and how to do deep learning. | Whether that makes them better at their job depends on what their | role is - if it's making a web application or working on | underlying infrastructure in C. | | So I guess to provide an alternative view to the author's, there | are good online programs like UT Austin and Georgia Tech where | students don't have to take time off work as they can do it at | night / weekends, both programs are low-cost (~$10k), and do have | professors who do understand online teaching. I think it's | important to make sure you pick colleges and classes geared | towards learning, not go with the intention of specific "job | training", and likely you'll come out ahead having done it. ___________________________________________________________________ (page generated 2022-07-15 23:00 UTC)