I'm currently finishing up my masters program in CS. So take into consideration that I haven't had enough time out to get a full perspective on the choice but I can give you an outline of my experience and why I think it was the right choice for me. I finished undergrad with a degree in Math and a minor in business admin. The last year or so I didn't know what I wanted to do after graduation but was interested in tech. I had read online that not too long ago (I think these Oppourtunities may still be out there) that people could finish with a math degree and a company would hire them and just teach them to code. My experience applying around is places expected you to atleast have a class or two under your belt. I didn't have time in my schedule before graduating so I didn't get a chance to take any of these classes. I eventually went back because of a few reasons. A) Like you I had done a little bit of self learning but wasn't producing anything super meaningful. B) I was primarily interested in getting into the data side of things (more math) C) I felt it could potentially come in handy down the line and lead to more challenging/interesting positions. So first and foremost the question to address is why not just figure it out on your own? These is certainly a viable path as there are a ton of great resources on line and more every day. I think I decided not to because I thought formal education would be a faster route. This obviously won't hold for everyone but if I could learn what I needed to know in a year or two vs longer with self study then I could get in a job quicker and basically move faster. I also wasn't super confident in my ability to create anything meaningful that would get me a job on my own. I think another advantage of formal is there is a social aspect to it and you can learn from your peers. If you are doing it by yourself you can meet people and try to ask questions but it may be harder. For point B I think a masters can make sense depending on what area you want to go into. If you want to do web dev I say skip it. For me though the chance to learn ML techniques from experts who study it for a living made it more appealing than trying to figure it out myself. I know there are options and classes for an emphasis in "software engineering" at my school but the vibe I get for those is that there is nothing there you couldn't learn by working in the field for a few years. So what you want to do is a pretty big factor in my opinion. As for point C this is definitely more speculation at this point but I have theories to suggest it is true. First being that contrary to what people want to think about tech transcending the rules of other industries it doesn't. People are people and still respect formal education. If there is a situation where all things being equal you have a degree and the other person doesn't you will have the edge. It also signals aafety for managers making hiring decisions. They won't look as stupid if they hire someone with a masters vs someone who self taught and it doesn't work out. I have also heard and seen people in developer positions coming back to get their masters. So either these people are irrational or like spending money for something they could find online. You can certainly find programs where you aren't "60k-100k" in debt. And I think my final thought though not rigorous is if you want to do this as a career why would you want to invest the time and energy on something you will plan to take up a large chunk of your waking life for the rest of your life. You get out of life/career/etc what you put into it. Hope this helps.