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.

5 points

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.

permalink
report
reply
1 point

The hard part with self-study is always the need for self-motivation and a lack of good community to help with instruction. Since quitting reddit, I’ve lost /r/ProgrammingLanguages and /r/Compilers, but the former’s discord is pretty good.

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply
6 points

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.

permalink
report
reply
10 points

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.

permalink
report
reply
11 points

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.

permalink
report
reply
2 points

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).

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply
4 points

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.

permalink
report
reply
2 points

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.

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply

Experienced Devs

!experienced_devs@programming.dev

Create post

A community for discussion amongst professional software developers.

Posts should be relevant to those well into their careers.

For those looking to break into the industry, are hustling for their first job, or have just started their career and are looking for advice, check out:

Community stats

  • 19

    Monthly active users

  • 76

    Posts

  • 1.1K

    Comments