I’ll try to make the context quick. I have been employed as a compiler engineer at a large company in SV (not FAANG) for about a year now. Previously, I’ve held jobs at a couple companies at the junior level (~4 years total). About 5 years ago, I completed a bachelor’s degree in Mathematics at a state university.
I am now feeling that this education was insufficient: the subject matter was not really related to my eventual career path, and the experience was overall incredibly mediocre. To put it quantitatively, my school is not even in the top 100 engineering schools in the country. And, as the title implies, I never received a masters degree.
My coworkers all have masters degrees and this has led to a pervasive feeling of imposter syndrome. I’m also worried about my future employment prospects: while I am not searching at the moment, I am worried that when I decide to do so, most of my competition will also have masters degrees. My company has recently struggled to hire compiler engineers, and I can’t help but feel like I was able to get in with a lesser degree and experience as a compromise against a tough hiring market. I don’t know if I’ll be afforded that same chance in the future.
I am now in a much better position to pursue a master’s, and since I live in SV, I also have the possibility of pursuing a master’s at a high-quality school without needing to relocate. I am trying to determine if this would be worth it. Some pros: increased networking opportunities, a more prestigious resume, possibilities for research/skill growth. Some cons: likely expensive, could be difficult to get into a good school, skill growth might not be as much as I’d like.
Some part of me thinks it’s a better idea to continue working on side-projects to improve my skills on my own. I have several “impressive” projects (e.g. compiler, OS kernel, GB emulator) that were instrumental in me getting my foot in the door, here and at previous companies, that I still actively work on. But I can’t shake the feeling that an MS from a top school (assuming I could get in) would open doors to places I haven’t yet been able to crack (mostly FAANG). I also think it could improve my chances for promotion within my current org.
Anyways, if you’ve made it to the end, thanks a lot for reading. Any response is appreciated.
You say you have a lot of coworkers with masters, are they from other countries? A pattern I have noticed while working in a company with a lot of H1B hires is that people will do undergrad in their country, then come to America on an education visa and get their masters degree while looking for a job here as a next step. If you are working somewhere where that is common that might be why you have many coworkers with masters.
I personally don’t think it is worth it. You have 4 years of experience. That’s going to be plenty to get your foot in the door. Your college experience matters less the further in your career you are.
I’m not saying don’t get a masters, I’m just saying I don’t think it is the necessary step you think it is. If you’re interested in furthering your education it may still be worthwhile, but not solely for your career.
You say you have a lot of coworkers with masters, are they from other countries?
This is an interesting observation – that does appear to be the case. I have noticed that most people in compilers tend to have a masters/PhD, though I suppose it’s likely the implication is reversed (i.e. people go for a masters, end up in compilers, and then get a job in industry).
Compilers seems like an incredibly niche industry though so I don’t know. I’m a backend developer which is much more broad I imagine.
I am a lead/staff SWE at my company, and I have never looked at education level when hiring. I studied robotics in college and almost nothing I learned there applies to what I am doing now (distributed data processing and ML).
Don’t get a master’s degree unless there is a specific skill you want (ML, databases, networks, etc). You should be learning at work. If you are not learning at work, move on to another company.
Probably the most valuable thing you could get to give you better chances at faang or elsewhere, is a friend on the inside. A single removed will get you past all of the automated filtering that happens.
In my experience as someone with 0 degrees, 15ish years of exp, and having been on both sides of the hiring process:
- Degrees don’t really matter for hiring in tech, in fact personally I think X years working a real job in your chosen field (as long as you put some effort in to improving) is a lot more valuable than X years at even the best college.
- Everyone has imposter syndrome. It’s not just you, and having more degrees doesn’t make it go away!
Everyone has imposter syndrome. It’s not just you, and having more degrees doesn’t make it go away!
Very true! As a huge admirer of the Rust programming language, hearing that Graydon Hoare felt like an imposter when he was Rust team lead gave me a lot of reassurance about my own skills. Of course, I’d probably be a lot more reassured if I had been pivotal in the creation of one of the fastest growing modern programming languages :^)
Personally I feel you’ll learn a lot more practical skills by just doing it on your own and on the job. FAANG companies do hire without masters, you just need the experience and be able to show it in interviews.
As someone with a Bachelors degree in (Pure) Mathematics from a state university, I’ll comfortably say that it hasn’t caused any problems for me in my 10+ full stack/data engineer career, and I’ve never gotten any impression that a Masters would’ve made things better.
Compiler work might be different, but I’d suspect not.
As for networking opportunities… Not really. You’ll be networking with people with 0 years in professional dev work, mostly in a academia. They aren’t contacts that will benefit you.
I’ll say as someone in a similar situation, and from what I can tell, private companies don’t give a hoot nowadays if you got a master’s or bachelor’s. All they care about is if you got the skills necessary for the job or the field you want to go into. So keep it up with the side projects, because that shows you know how to apply it rather than just repeating what school has.
Lately I’ve been using the curriculum as a guiding point, finding a book or two on the subject and self learn with maybe a discord channel to ask questions. Far better an experience.
Again, it’s just my opinion. Save the money for fun.
Very valid, I know myself and I need a community to complete a big study effort. Online self learning works for many but not all.
As for masters degree, I’ll add that I have mine years as a web fullstack developer and only at my first job was education background a talking point. Unless the degree is in something specific for a role you are aiming for, I don’t think it is wroth the effort.
As a dev with 15 years experience with a bachelors and a masters that I quit halfway through - no one has even mentioned my schooling for the past 12 years or so.
Well, if you factor in tuition fees, cost of living and opportunity costs (reduced income because you’ll likely wont work fulltime anymore), do you expect to get a job afterwards - that you could not get with your current qualifications - that will pay off those costs? You’ve got a degree in mathematics, so you’ll do the calculation…
Do you know that scene from Good Will Hunting where Ben Afflecks’ character says to the snobby student who tries to waive with the prestige of his school: “you dropped 150 grand on a fuckin’ education you could have got for a dollar fifty in late charges at the public library”?
If you want to grow your skills you can do it three orders of magnitude cheaper than with a degree program by studying from books or taking dedicated courses and seminars. Consider if you want to go down a path where the credentials are really a requirement or just a nice entry in your resume.
It’s worth it if there’s something specific you want to work on.
A Masters’ Degree (and PhD) is almost the only opportunity to work on certain things like distributed systems, P2P systems, federated networks (like this), consensus under Byzantine conditions, cryptography, operating systems and programming languages development, etc.
So I’d only do it if you have something in mind that you’d like to work and somewhere that you’d like to do it.
This is a good thing to be reminded of. I often forget that masters are much more targetted in scope.
Formal programming languages instruction could be useful – while I have learned enough in practice to implement most of a compiler, I have often found my foundation in theory to be lacking (e.g. type theory/operational semantics). Then again, I’m fairly sure I could learn the same on my own without having to spend thousands of dollars. The only hard part is convincing a future employer that I know my stuff.
From what I heard universities with good compiler courses are rare nowadays, so a masters is really not the best indicator that you actually know anything. If you are going to continue your education do a PhD (which you aren’t supposed to pay for).
Disclaimer: This is second hand information.
I think that if you’re going to pursue your masters, you’re going to be putting in a tremendous amount of effort, money and time, especially if you plan to remain employed at the same time. You need to interrogate whether that’s worth it to you, and whether your goals line up with what you’re doing.
Will you be able to take advantage of the networking opportunities? Do you feel like there’s a contribution to computer science as a field that you want to make and make official? Is there a level of rigor or precision of thought that you feel like you could gain?
It seems like what you value are hands on keyboard skills, money, and recognition from your peers. If you go through the masters program, get just a little better, and spend a lot of money, is that worth formalizing that recognition?
I don’t even have a bachelors degree, and certainly no masters and I’m doing just fine. I worked at a FAANG company for a few years as well, and the lack of a degree was a complete non-issue during the hiring process. All they cared about was my experience and how well I did in the screening and interview. My view on this is obviously biased due to my personal experience, but I think that if you’re a good self-learner that 2 years of building stuff will get you a lot more value than 2 years in a masters degree unless you’re going for a very specific field that requires one.
Also I would say go for the masters degree if it’s something you want personally for yourself, but don’t do it if it’s solely for career growth as honestly I think it’s unnecessary.
deleted by creator
I posted yesterday describing my masters degree (in software engineering) experience as a “10/10,” “would do again 👍,” “totally worth it!” After sleeping on that thought, I have to say that it really depends.
It was a ton of time and work. You will be trading out time for hobbies/family for 2 years. A lot of time. It will be expensive if you’re paying out of pocket. Also, it doesn’t guarantee anything about your success. As you can see in other comments, some hiring managers have “never looked at education level when hiring.” (…Why would you not even consider someone’s education when deciding who you’d advance out of a pile of strangers asking for an interview?)
However, I did enjoy the experience. I had actual “fun” with my classmates throughout the program. Just a few months before graduation, I got two job offers from the only two companies that I applied to. My masters degree came up in every 👏 single👏 interview 👏.
It’s not something you must have to be successful, but if you have the time and money, and you want to do it, you should absolutely do it. It does make your resume stand out at the end of the day which can help get you an interview.