I am young, and my job role is already lightly CS-related (data). I have an undergraduate minor in CS, so I have taken Data Structures, Discrete Structures, AI, etc. I don't think I want to be a SWE, I am mainly pursuing this degree for personal knowledge (to enable side projects and satisfy interest) and to make my profile more appealing to large tech companies and startups.
Is a masters worth it? Or would it be more worth it to try to build knowledge through side projects / a blog if I can trust myself to remain committed?
Started life going after an aero engineering degree, built an airplane, then married a woman who wanted to live on farm. I thought: wind energy! Windmills are just gliders on a bearing, so I build a windmill to charge batteries, rose to be an early president of AWEA, then was asked: how do you know where to put these machines? Weather stations. Tiny cmos microprocessor-based weather stations.
But farmers would say: can I use that data to predict fruit frost, water needs, pesticide needs? Welp: at that time in history, Byte had a piece on Expert Systems. I was programming my weather stations in Forth, so I transliterated their Basic code to Forth. That's when I learned about recursion. They don't teach that in aero classes.
Which lead to going beyond expert systems into machine learning. But, having given a few conference papers on wind energy and on expert systems, my resume grew to the point where I got hired at an AI company doing ontology coupling in a B2B setting. I was working with Ms and PhD-level developers, and got along just fine
Can you do that? No clue. The secret to my success was a relentless devotion to building stuff, always way over my head.i
Employers only care about your education to the extent that it enables you to do something that they need. If you're mostly going to be a web front- or back-end developer, the skills enabled by a MSCS may not be of that much interest to them.
For your personal knowledge: do you find that classes enable you you to learn better? Have you tried self-teaching things or taking MOOC classes on your own? Does the structure help? What do you want to know that you don't know now (unknown unknowns notwithstanding), and how do you think classes would help?
For making your profile more appealing to companies: what kind of work do you want to do? For example, if you want to do PhD level research work, you'll probably need a PhD. For that work you're interested in, have you found your current profile is limiting you? You mention you don't want to be a SWE, so it would be interesting to hear which work you _are_ interested in.
Source: I went through the process of doing a part-time MSCS while working full time as a SWE (details at https://alexanderell.is/posts/mscs/ if you're interested) and have way too many opinions about it.
These are all good points to consider, and I definitely think I learn better & am more motivated when learning via projects, rather than the classroom environment. Work is more of a question mark, am on the lookout for what I want to do after having found analytics work unrewarding. Have considered SWE and product management, I just feel very _behind_ in the former (doubly so in research). Additionally I do feel I would generally enjoy a more social role. Regardless, thank you for the reply, this is a good framework for thinking about if this will be valuable or not.
Edit: Additionally, reading your post again: really like the point about figuring out what you don't know. Right now there seems to be so much 'magic' that I cannot comprehend; definitely feel that satisfying that curiosity is one reason to push through.
That makes a lot of sense, and I definitely identify with that feeling of the magic. I felt like there were a dozen caves I knew about, each one with an intimidating name ("compilers", "networking", "machine learning", etc.), and before the MS, I knew these caves existed but didn't know much about them. Taking the classes was like a guided tour into the first sections of the cave (usually with a map and flashlight provided by the instructor). It was like they gave me a feel for both the general layout and the true depth of the caves, even if I only saw a bit of each one. It would take a PhD to fully explore just one path in one cave all the way to the end, but the classes helped me become more familiar with what each one generally looks like and how they're laid out. I think just as importantly, they also helped to give me the knowledge and tools to go deeper into each cave (or new caves) on my own and the confidence to know that I could if I wanted to.
The only other thing I'd say is that software engineering can be more social than you may think, at least it has been for me, especially when compared to what I naively thought software work was like. I don't have the blog post written to link you to yet, but, depending on the company, it's definitely not just you and the computer.
I'm pretty biased being on this side of the courses, but feel free to reach out if you want to chat more!
At another company, I had worked with some programmers without computer-related degrees (most of them were Mechanical Engineers) and they were not very fun to work with, they got confused on even some basic stuff. Would not recommend. CS degree does make a difference.
If I wanted to hire someone for to do work that that is more scientific, like someone to do performance analysis and tuning, I would absolutely prefer someone with a Master's degree than someone without.