Live data from Hacker News

Ask HN: How to get a job as a compiler engineer?

news.ycombinator.com

11–20 of 63 posts

Re: Ask HN: How to get a job as a compiler engineer?

#11
post #9

You write that you currently work full time at Microsoft, a company with a large developer tools division that actively develops several language compilers. Have you reached out to managers in those groups to learn if they have (or could create) opportunities that match your interests?

This tbh. If the compiler the Microsoft team maintains is open source (which most of the ones people have heard of are), having involvement in that open source community would probably also be a plus - it helps show the practical part of practical compiler development.

Anyways, many public-facing compilers (C++, C#, VB, F#, the .NET runtime as a whole, TypeScript) are in the devdiv org - if you look up Julia Liuson in the org chart and explore down from there, you can probably get a good idea of who you most want to grab coffee with (or whatever the remote work equivalent of that is now).

Outside of devdiv, there's also some esoteric c++ compilers, PowerShell, and SQL compilers housed in the windows and azure orgs, plus iirc there are some people who work on v8 fulltime around the edge team now, too.

Point is that you've got much more direct access to those teams and opportunities than most people already, being only an internal transfer away - hopefully you can make use of that.

Re: Ask HN: How to get a job as a compiler engineer?

#12
I'm not a compiler engineer but I'd focus on figuring out what problems compilers are being developed to help solve and go from there, applying to companies that do those things.

Google has a lot of compiler stuff. XLA for machine learning: ML graph compilation is a huge area right now because ML is so costly and optimizing ever-growing ML models is something compilers help a lot with. Closure for javascript. A bunch of their own languages: {a few versions of SQL that optimize for different workloads}, {go for servers}, {dart which is both AOT + JIT compiled for rapid app development but performant serving}, {carbon because rust is hard to adopt at a company like google}, ...and this is just off the top of my head. Teams continue to develop and improve these compilers & devtools around them every year, so there are definitely jobs. It feels like big companies like Google / MSFT are most likely to be doing interesting things with compilers because they don't have as much direct linkage to product and thus it's hard to get budget to pay people to do these things unless you're a money-printing behemoth. I'm assuming you don't want to take a big pay cut just to work on compilers :)

In terms of landing the job, I don't think knowing specific tools/libraries/frameworks are that important. I actually flirted with joining one of the teams mentioned above years ago despite not having compiler background, so that's the other thing. They care a lot more about you being a solid engineer and teammate than anything else. PhD will help you get an interview and if the _perfect_ role opens up for you, you'd have an edge. But more often I see folks with PhDs work on things unrelated to their academic research. And actually I think it can be more fun if you're open to doing something a little different, if still in the domain of compilers/programming languages. Your experience will definitely become useful if you are close-ish to the subject, but you'll learn more if it's not _too_ close.

Re: Ask HN: How to get a job as a compiler engineer?

#13
post #9

You write that you currently work full time at Microsoft, a company with a large developer tools division that actively develops several language compilers. Have you reached out to managers in those groups to learn if they have (or could create) opportunities that match your interests?

This tbh. If the compiler the Microsoft team maintains is open source (which most of the ones people have heard of are), having involvement in that open source community would probably also be a plus - it helps show the practical part of practical compiler development. Anyways, many public-facing compilers (C++, C#, VB, F#, the .NET runtime as a whole, TypeScript) are in the devdiv org - if you look up Julia Liuson i…

Don't forget Microsoft Research. I mean, OP has been working on their PhD for four years now (albeit part-time).

Re: Ask HN: How to get a job as a compiler engineer?

#14
I'd suggest you pick an open source compiler and try to improve it. The people reviewing your work approximate those interested in the same area, some of those are probably employed to do so. That'll give you a list of potential employers plus people who know who you are if you decide to apply.

LLVM / MLIR / GCC all have significant numbers of employees working on them as well as volunteers, partly because hardware companies employ software devs to make them work for their hardware. I'm not as clear who funds front end work, seems to be big companies that like internal tooling.

Compilers are great. Exciting is in the eye of the beholder though, you'd have to expand on what interests you before we could guess a more specific direction to try.

Re: Ask HN: How to get a job as a compiler engineer?

#15
The company I work for (Trail of Bits[1]) does compilers-based program analysis and engineering; it's been a significant part of my job for the last 4 years of my career. We're also hiring[2]!

Overall, I think the job market for compilers/program analysis is pretty strong right now. It's also well spread between companies of different sizes and scopes: MS and Apple are doing serious LLVM-based optimization work, while you also see medium-sized companies (Fastly and CloudFlare) doing interesting work on WebAssembly. On the research side, companies like ToB and Galois have been doing LLVM and other compiler-based program analysis for over a decade.

[1]: https://www.trailofbits.com

[2]: https://www.trailofbits.com/careers

Re: Ask HN: How to get a job as a compiler engineer?

#16
post #9

You write that you currently work full time at Microsoft, a company with a large developer tools division that actively develops several language compilers. Have you reached out to managers in those groups to learn if they have (or could create) opportunities that match your interests?

Exactly what I thought. Microsoft is probably one of the most appropriate companies to work for if you want to work on compilers. If Microsoft is not working out, I guess Apple would be a great alternative.

Re: Ask HN: How to get a job as a compiler engineer?

#17

Maybe a stupid question, but have you tried applying to compiler engineer jobs? There is a list currently at the bottom of this thread: https://news.ycombinator.com/item?id=32590459 I think you may find that lots of the job is ‘regular software engineering’ work if it involves maintaining a production compiler rather than being all about specific compiler techniques there will be lots of time on eg making the compile…

Right, and even if you're not ready to apply yet you can look at the job ad's requirements and nice-to-haves (for instance for a job working on llvm or gcc you're going to need C/C++) and see how well you fit them.

Re: Ask HN: How to get a job as a compiler engineer?

#18
Companies making CPUs are often looking for compiler engineers, mostly in the backend of course. Intel, AMD, ARM, STMicroelectronics, Kalray for instance. You might be able to find a job at a company working with the RISC-V arch too. You'll probably work on LLVM and/or GCC, or maybe an in-house compiler. I know someone working at one such company after doing a PhD in the area and they are happy. I won't be more precise in public, my email is in my profile.

Re: Ask HN: How to get a job as a compiler engineer?

#19
post #9

You write that you currently work full time at Microsoft, a company with a large developer tools division that actively develops several language compilers. Have you reached out to managers in those groups to learn if they have (or could create) opportunities that match your interests?

This tbh. If the compiler the Microsoft team maintains is open source (which most of the ones people have heard of are), having involvement in that open source community would probably also be a plus - it helps show the practical part of practical compiler development. Anyways, many public-facing compilers (C++, C#, VB, F#, the .NET runtime as a whole, TypeScript) are in the devdiv org - if you look up Julia Liuson i…

Great point -- if you work for a large company, an internal transfer can be a great way to switch career specialties. Because the company already knows you well they're often willing to consider you even if you don't yet have much in-specialty experience in the new role. I got my start doing full time open source work by making an internal transfer (not in MS, different firm).

Re: Ask HN: How to get a job as a compiler engineer?

#20
post #9

You write that you currently work full time at Microsoft, a company with a large developer tools division that actively develops several language compilers. Have you reached out to managers in those groups to learn if they have (or could create) opportunities that match your interests?

This tbh. If the compiler the Microsoft team maintains is open source (which most of the ones people have heard of are), having involvement in that open source community would probably also be a plus - it helps show the practical part of practical compiler development. Anyways, many public-facing compilers (C++, C#, VB, F#, the .NET runtime as a whole, TypeScript) are in the devdiv org - if you look up Julia Liuson i…

It is my understanding that the language teams of C# and especially F# are actually quite small, and I imagine competitive. I would wager that there's more compiler work to be done in Microsoft Research. This is a hunch based on things I have read.
Post reply on HN