I’ve got a BS in Computer Science and have been considering pursuing a Master’s degree part-time with a focus on ML/AI.
I know the common narrative is that a Master’s in CS really isn’t worth it if you’re just looking for a pay raise. However machine learning is an area I’m interested in but lack the requisite background. I just really worry the degree will mostly be worthless by the time I graduate considering the rate at which AI is advancing.
The degree would mostly be for personal knowledge/fulfillment, but I don’t want to bother with it if we’re all going to be unemployable in a few years anyways. Another alternative I’m considering is learning HVAC repair as a fallback career.
What are your thoughts?
I don't think AI advancements will cause a problem for the value of the degree (or rather, if they do, then it wasn't a very good MS degree). The value of formal university CS education done well, at both BS and MS levels, is learning skills in a context that integrates those skills into a knowledge framework that transcends any particular technology and hopefully outlasts several trend changes. The specific ML algorithms you would learn in an ML-focused MS will likely be out-off-date soon; the training on problem formulation, data preparation, fundamental limits of learning, and the theory of how ML works will not only outlast many technology shifts, but give you a good framework for navigating those shifts and integrating new advances into your knowledge.
There are likely many programs that would not provide this kind of foundation. But in understanding in general the value of an MS, this is how I would advise a student to think about it. (and on MS vs BS, BS usually provides some opportunity for specialization but is very much a generalist degree; an MS provides more opportunity for specialization and credentialing on that specialization.)
I went to university from 2005-2008. Back then, with dot-com scars still fresh in everyone's mind, an extremely common piece of "advice" I received was: Don't bother going into programming; software development is going to all be outsourced to offshore developers. You'll never make more than $50k/year in your career as a developer, the competition from India and Bangladesh will be too high.
As much as futurists hate to admit it, coding AI is still way worse at many things than even the now-near-universally-loathed "outsourced dev" boogeyman. Your job as a software developer isn't to write functions that reverse a binary tree or solve the Towers of Hanoi puzzle. I haven't seen any evidence that AI can evaluate a legacy codebase and determine what the best integration path forward is. I haven't seen any evidence that an AI can figure out how to put together a backwards-compatible API. I haven't seen any evidence that an API can put together a build pipeline.
Your question is based on an assumption that because ChatGPT can spit out some pretty impressive stuff that an entire career path isn't going to be viable. I will tell you emphatically that assumption is wrong. Spend a few years in the industry and you'll understand that ChatGPT is impressive, but only touches about 5-10% of what a software developer really needs to do.
It will be an important tool for developers going forward, and maybe reduce the overall number of devs needed in the world due to increased efficiency, but no, it's not going to replace software developers. Not even juniors.
My own experience is that masters is for people who need to immigrate to the US for work and can afford a masters degree. When I was in school, the masters level CS students weren’t expected to know CS well going in, so it was kind of like cramming a full CS degree into a two year window… with not amazing results. Obviously that depends on the student. Also lots of students who just didn’t want to work professionally yet, and you can get student loans to keep working on a masters degree.
All that is to say I’m extremely surprised by the people saying the degree is valuable on the merits and not for some other instrumental reason.
P.S. regardless of education level, programming, at least in software companies, is an extremely privileged career regardless of pay. Hours, work environment, remote availability, treatment of labor by management are all better than I can imagine even comparably-paid trades positions, especially if you’ve already invested in the bachelors. I think people in the software engineering bubble can, sometimes, fail to appreciate how good they have it relative to others (especially if you get caught up comparing between FAANG or have ever complained about an equity package).
Having interviewed a bunch of job candidates with CS Masters and CS Bachelors for jobs in a fairly small, research-y group, and a shmear of PhDs, level of education absolutely matters. The more education, the more prepared people are to think well on their feet. The average high school dropout can think. Thinking well requires training. Generally, CS Masters hits a sweet spot: they can hit the ground running and mold themselves into a job. They may need a bit more guidance to understand the space around the problem. The PhDs have often self-selected into the job and have a good grip on the problem but take a bit more guidance on what to not do. The bachelors folks need strong leadership and team around them. While you may get that in larger orgs, if it's a smaller org, that may not be reliably available at all times.
> considering is learning HVAC repair as a fallback career.
Having had HVAC guys install and repair A/C systems at various homes, I think you would quickly find the baseline work mind-numbing. That said, if you make it through the apprenticeship, you might be in a good position to build a startup.
Similarly, even without chatGPT, most individual programming tasks are easier today than they were 50 years ago. No punchcards is an amazing development. However, there are way more software engineers today then there were 50 years ago.
It’s no guarantee, but often an improvement in efficiency in a resource does not reduce the overall usage of that resource, because it increases demand for that resource. It’s hard to predict what effect a new technology like AI driven programming will have, but it’s a range of outcomes that includes increasing demand for adjacent skills as well as reducing demand.
I doubt a CS masters skills will forever be as highly remunerative as it has been, and the work will be different, but that is different than becoming a less valuable than an HVAC certification.
An AI/ML focus seems especially valuable as an understanding of how these new systems actually work, how to best use them, and what the pitfalls may be is likely going to be a hot skill set for some time.
You need a catalogically different technology (a rocket) to do space travel.
A layperson seeing the first airplane and rapid advancement in that industry could easily think, "look we've been flying higher and higher, soon airplanes will fly to other planets." If you were to point out that that's not how airplanes work they might retort that people used to think flight was impossible at all.
We're at the Wright flyer in 1903 moment in ML/AI right now. It will get a lot better an change many things but it will ultimately still be just a tool of programming rather than a replacement for it until someone invents AGI, and even as someone who is optimistic about that happening, I'd guess we're still decades away.
I feel like this may answer your own question? It may be trite, but even in a world where AI makes us obsolete, there's still value in doing something fulfilling that you're interested in. Just because DALL-E 2 can replicate an oil painting doesn't mean that there isn't personal value in physically painting anymore.
Why not both? My neighbor configures HVAC for datacenters as a living. From what I've understood in our chats, there's a lot of expert system processing going on. It's only going to grow as ML/AI does. When there's gold rush, don't invest in gold, invest in pickaxes.
Can’t comment on the state of machine learning/ai as it is not my field of expertise but I would also guess no. The mathematical basis on which ai is based is not going to radically change. Linear algebra etc is always going to be useful no matter what happens.
Neil Gaiman says that he visualised becoming a writer as climbing a mountain and weighed up every decision as whether it took him closer to the summit. I would say you need to get clarity on what your ultimate goal is/which mountain you want to climb and then evaluate taking the masters in relation to that. We can never be sure if we are going to make it to the top regardless so you’ve got to have a little bit of faith. And you could very well fail at whatever your back up plan is so you might as well take a chance on the thing you actually enjoy.
A masters is two years. What significant AI developments could possibly happen that would reduce job security?
Do you plan on your job being about writing 20 liners solving the most common CS questions on SO? If yes, SO has already replaced you, if no, what competition from AI do you have?
I don't want to make any grand predictions, but current generation LLMs will not make a dent into programmer jobs.
A couple years ago the pointless code started to compile.
A year ago we got copilot.
Past week or so I have been pasting React components into Chat GPT and it successfully tells me what it does, and I ask it to change it, and it can change my program for me.
I would say in a couple of years AI may be in complete control of entire Git repos for backends, front ends, etc... and you will be able to modify it by telling it the new stuff, in plain english.
I mean right now it's just the same thing as Stable Diffusion, but with code and so it's "mostly right". When that crosses over, it's going to take out this profession. I honestly don't know what to do.
Seems to me that the only thing stopping AI from doing our jobs in 5 years will be the legal department.. at that point I guess my last job will be to set up the on-prem/cloud infra that runs the model. AI doesn't change the requirement of owning your own data. After that, I dunno. What jobs will be left? AI trainer, mascot at Disneyland, and CEO?
I might have the time horizon wrong but I do think it's going to be a bloodbath. There's nothing about previous industrial revolutions to suggest it would be anything but. And if you think you'll be able to see it coming, have a look at https://intelligence.org/2017/10/13/fire-alarm/ . This problem space is starting to feel less like fusion and more like flight
Nope.
> the degree will mostly be worthless by the time I graduate
A Master's degree's value is not in the information-content you managed to download into your brain. Its value doesn't have to expire as a domain advances. As with anything academic, most of the value depends on how much sweat and time you put into the thing (independently of how good the classes or profs are), and if you do it right, your competitive advantage will be in having learned how to learn better or faster.
> The degree would mostly be for personal knowledge/fulfillment
Assuming you can afford to study, and to do it well, this is the only thing you need to focus on.
> Another alternative I’m considering is learning HVAC repair as a fallback career
This comment makes me wonder whether you're being honest with yourself about what your motivation is. Nothing stops you from learning about HVAC as well, if you're interested in that.
You will learn (or at least be exposed to):
problem decomposition, systems thinking, good interface design, encapsulation, abstraction and generalisation, optimisation, algorithmic complexity, time/space trade offs, searching algorithms, and much much more
All of the apply to many fields outside of programming, I have used binary search to to bisect real world problems, systems thinking to help with social interactions, abstraction thinking to plan life events and optimisation to make sure all my tasks get done efficiently.
Let me tell you something really, really important about university: it’s about learning to think, NOT about gathering and hoarding some domain knowledge and then exploiting that for the rest of your career. The worst type of university graduate is the one who spends a few years learning some bits of knowledge in a field and then sanctifies that knowledge and sits there with a sense of entitlement, hoarding what they think is valuable - everyone can look up stuff on Google now, hoarding knowledge to appear valuable is a mugs game, it’s not 1850 anymore where this strategy worked.
The valuable part is learning all of the different ways to think and then applying them and keeping your mind fluid and flexible, and I think of all of the degrees, CS is one of the best for this
The risk in CS that I worry about right now is suppressed wages as more folks enter the field and the large companies get better at paying us less.
It’s very, very unlikely IMO that AI will take our jobs in the next 5-10 years. But I think the demand for good ML engineers will stay strong. Having a master’s in this is a big leg up, it’s hard for people to learn ML well without formal education.
Also, education is a great way to ride out the current crappy job market.
Some of our jobs may be automated by AI in the next N years, but I think we are quite a ways away our jobs being truly replaced, as opposed to simply augmented.
Don't forget that also in many ways these tools may (and are likely to) spawn the need for more programmers, while decreasing the total costs of development, but we will absolutely still be needed.
Remember, a computer can't be "fired". It can't be "blamed" when the site goes down, etc etc. We work in human organizations and fill in many needs beyond simply the time we spend in emacs.
Not sure if this is a joke or not. If it's not a joke, I think you should go into HVAC. AI/ML is a competitive academic field, and only the top few percent of people are going to make an impact. It will take extraordinary passion to make the cut, and if you're the type of person who is wavering, looking for a career change, and seriously considering something like HVAC repair, please save yourself the pain and go for HVAC - it's a solid option with far less demands or risk.
If it improves an order of magnitude it might be able to make me more productive and I will be able to charge more for my time.
I wouldn’t even begin to know how to ask ChatGPT to help me with some of the more complex problems I am dealing with on a day to day basis. As far as I understand these models don’t build up any understand and even their memory is an illusion, previous conversations is just reevaluated with every new question. I assume this limits the complexity of what it can do, and does not seem scalable to me.
I see it being helpful in generating function names etc, perhaps adding more context to autocompletion tools for better suggestions, better front-end to Google so search becomes more efficient. And hopefully it helps me write the boilerplate in every email.
I honestly hopes it improves a lot, I see only benefits for our jobs. But currently not ready for serious work. Although a very impressive feat of engineering.
A master's degree in computer science can be a valuable asset. While it is true that AI technologies are advancing rapidly, a master's degree in computer science can still provide a solid foundation in fundamental concepts and technologies that are likely to remain relevant for many years to come. In addition, a master's degree can help you develop advanced skills and expertise in a particular niche.
Moreover, a master's degree can also benefit those interested in pursuing academic or research careers in computer science.
Also, it is important to note that a "degree" or a "certificate" is just one factor. Other factors, such as your technical skills, ability to work well in a team, and problem-solving abilities, will also determine your success in the industry. Lastly, going to a University can also help you network with your peers, which is helpful in the long run.
Unlikely. There might be less routine work grinding out boilerplate code to be done but competent developers are far from being replaced.
> if we’re all going to be unemployable in a few years anyways
I'd be more worried about the economic outlook for the next couple years.
Hands on experience and side projects (especially ones in investing/betting where you actually put money on the line) count for way more.
A good masters will help you nail down the fundamentals of linear regression, metrics, regularization, gradient descent, metrics etc. That knowledge doesn't go out of date and you do use it and get asked about it in interviews.
Large language models etc are growing rapidly but how most practitioners user them is much slower. People still use BERT and the smaller ones for computational reasons and ways you fine tune, evaluate, prompt engineer etc for the larger ones don't change that quickly.
There is also the large area of debugging, monitoring, performance tuning and improving large training and production systems. Even if generative models write could write great code for an entire system i don't see this area going away any time soon.
As for people who really like programming, that are passionate about it, those have nothing to be scared of. Coding camps, universities spilling software developers - all these needs to die. In the past plenty of people got miserable being doctors because a doctor is a good paying job and they were forced by their parents to become one. Only to either fuck a patient for life or to grind a soulless job just because it had financial and social status reward. Now software development/programmers are the new doctors.
Although it's impressive, the suggestions are so frequently wrong that I doubt AI will be able to write code as good as a human during either of our careers.
Instead, AI will merely become another tool in our toolbelt that helps us in our day-to-day jobs.
That is how you should be thinking.
(I typed this comment as I was in between writing technical articles being assisted by ChatGPT doing 90% of the actual w writing while I am telling it what to write about and making corrections)
AI/ML is the only domain which I find completely unlike regular software development. It requires more than simply common sense and love for computers. Possibly even a completely different mindset/psychological traits. I'm not sure I'd be able to do it even with years of data engineering experience.
I'd feel much more secure about my future in software if I had a stronger background in stats and some formal ANN training.
(2) If you want to go deeper into multiple areas of CS (e.g. non-AI/ML course requirements), then it could certainly make sense.
(3) Getting the MS from a "premier" school will likely improve your career prospects -- it's a matter of signaling, but still matters less than your work ethic & the quality of work you perform on the job.
(4) If AI makes programming obsolete, the logic & foundations will still be valuable -- e.g. to instruct or query the AI. Besides, this is a decade+ out (at least).
From a theoretical point of view, I believe we are a ways off from AI replacing software engineers. The hardest part of most real world software development is the translation of requirements into a workable product. I don't have firm proof for this, but my argument would be that that translation is itself something that would require general intelligence AI and that we are a ways out.
Some professors are better than others, though, I think the value you get will depend a lot on that.
As for fallback careers, I'd say go with plumbing. A trustworthy plumber will never go hungry.
I think that we should plan to create businesses rather than be employees. And to do that we can leverage AIs and robots ourselves to work as _our_ employees.
Studying ML can help you find and apply the AI advancements that you could deploy for your business.
The AI (and within a few years) robots will be strong multipliers for those who know how to use them. So as long as you keep one eye on applications, the CS/ML masters might actually be ideal.
AI isn't going to take away your job, the contraction of the tech market will.
You are clearly interested, which to me is the primary reason to do anything like this. I did it and never regretted it. I learned a lot and met a lot of cool people.
I've used chatGPT to ask about my area of expertise, and the answers are usually frighteningly good. It can also give completely wrong answers with an equal level of confidence.
So I think there will always be a need for skilled people to interpret the answers these Delphic oracles give. Be one of the experts!
I realize I’m being a bit hyperbolic and it’s really hard to predict where things will be in a decade, but I’m pretty early in my career and am just concerned what my prospects will look like as this stuff evolves.
It feels like I’ve got two paths:
A) Keep learning and hope it’s enough to keep up
B) Quit now and focus on learning skills that are difficult to automate in order to get a head start on the transition away from dev work
All these Ai advancements help you solve more problems. Just like higher level languages or your favorite library or the cloud. More tools to solve things. That's our job.
If the breakthroughs are made by people with a MSc degree or higher, do you want to be a part of that group?
If you're in it for the 80 to 90 percentile pay, sure with enough grit you do without a degree.
for example, at my university ml graduates are expected to excell at writing performant parallelizable code and to mathematically understand the models they are building