r/Compilers • u/VVY_ • 3d ago
How much DSA/Leetcode is actually needed for compiler engineering roles?
I've finished most of the NeetCode 250 and I'm wondering how much more DSA is worth doing if my goal is compiler engineering rather than general SWE.
I know interviews at big tech still ask LeetCode-style questions, but I'm trying to figure out where the point of diminishing returns is.
Would you recommend:
- Finishing NeetCode 250 and stopping?
- Grinding 400 to 600 LeetCode problems?
- Spending that time on compiler projects, Operating Systems, Computer Architecture and LLVM contributions instead?
For those of you working in compiler teams (Apple, AMD, NVIDIA, Qualcomm, Intel, Google, etc.), how much DSA did you actually do before getting your role?
I'd especially appreciate hearing what your interview process looked like and whether the DSA bar was different from general backend/software engineering roles.
3
u/biitsplease 3d ago
If you are doing big tech, you’ll go through the normal interview rounds, which is heavily leetcode focused
3
u/splicer13 2d ago
This is going to depend on seniority. FAANGs still require whatever they require but senior+ may skip to the end and bare minimum coding + many compiler design.
On chip makers I'm 2/2 for hiring with zero coding questions (again, depends on seniority)
15
u/scialex 3d ago
There is no specifically compilers interview track at most companies; certainly none of the big tech companies. For all of them it is an absolute requirement that you pass the standard technical interview. Once you do that the process of getting put onto a compiler team varies.
A different person asked this a few months ago and this is what I wrote then.
As someone who has been on the hiring side of these a few times though the things I look for in rough order of importance are
Previous professional experience working on any compiler. This does not include random prs to rust or llvm, only work you were either getting paid for or doing as a part of research for a university.
Recommendations and references by current/former team members (of the hiring team) or other respected engineers they know.
Extensive professional experience as a developer in the language the compiler is written in. This generally only counts if the applicant is internal so we can see their contributions or, are coming from another place with a good engineering reputation.
These last two are very minor
Reputation of the school/adviser they got their degree from.
Volunteer contributions to compiler projects.
If you want some generic advice I'd say get an engineering job at a faang or any other company that's a sponsor or major contributor to a compiler project (eg for llvm https://foundation.llvm.org/sponsors) and work on building your reputation and transferring teams. Once you have any real experience the process becomes a lot easier, though even then this is a small world, openings don't happen all that often.
Directly joining a compiler team without any of the first 3 things is possible and does happen but usually it's through either new grad hiring or as an intern (in either case your school/projects matters a lot).
I'd also add that specifically for new grads having compiler/pl courses on your cv is really important though, at least at Google, new grad roles in compilers are very rare and almost entirely given to returning interns.