Live data from Hacker News

Becoming a compiler engineer

rona.substack.com

11–20 of 160 posts

Re: Becoming a compiler engineer

#12
post #5
post #3

Earlier quoted context omitted.

LLMs (or LLM assisted coding), if successful, will more likely make the number of compilers go down, as LLMs are better with mainstream languages compared to niche ones. Same effect as with frameworks. Less languages, less compilers needed.

I mostly disagree. First, LLMs should be happy to use made up languages described in a couple thousand tokens without issues (you just have to have a good llm-friendly description, some examples). That and having a compiler it can iterate with / get feedback from. Second, LLMs heavily reduce ecosystem advantage. Before LLMs, presence of libraries for common use cases to save myself time was one of the main deciding f…

Have you tried having an LLM write significant amounts of, say, F#? Real language, lots of documentation, definitely in the pre-training corpus, but I've never had much luck with even mid sized problems in languages like it -- ones where today's models absolutely wipe the floor in JavaScript or Python.

Re: Becoming a compiler engineer

#13
post #9

Very interesting and informative! I'm a bit shocked that it would take significant effort/creativity for an MIT grad with relevant course/project work to get a job in the niche I would have thought the recruiting pipeline is kinda smooth Although maybe it's a smaller niche than I think -- I imagine compiler engineers skew more senior. Maybe it's not a common first or second job I graduated at the bottom of bear marke…

> I'm a bit shocked that it would take significant effort/creativity for an MIT grad with relevant course/project work to get a job in the niche

That bit was heartbreaking to me too. I knew the economy was bad for new grads but if a double major from MIT in SF is struggling, then the economy is cooked.

Re: Becoming a compiler engineer

#15
post #9

Very interesting and informative! I'm a bit shocked that it would take significant effort/creativity for an MIT grad with relevant course/project work to get a job in the niche I would have thought the recruiting pipeline is kinda smooth Although maybe it's a smaller niche than I think -- I imagine compiler engineers skew more senior. Maybe it's not a common first or second job I graduated at the bottom of bear marke…

It's definitely a pretty small world, and to make things worse there are sub-niches -- between which there's certainly cross-pollination, but that's still a barrier to people looking to change jobs. Frontend language semantics (where most PL papers focus) vs. middle-and-back end optimization and hardware support; AoT compilers vs. JITs; CPU targets vs. a blossoming array of accelerators, etc.

Beyond that, I've definitely interviewed people who seemed like they could have been smart + capable but who couldn't cut it when it came to systems programming questions. Even senior developers often struggle with things like memory layouts and hardware behavior.

Re: Becoming a compiler engineer

#17
It's a bit sad seeing how much focus there is on using courses and books to learn about compilers.

> I’m not involved in any open-source projects, but they seem like a fantastic way of learning more about this field and also meeting people with shared interests. I did look into Carbon and Mojo but didn’t end up making contributions.

This sounds like the best way to learn and get involved with compilers, but something that's always been a barrier for me is just getting started in open source. Practical experience is far more valuable than taking classes, especially when you really need to know what you're doing for a real project versus following along directions in a class. Open source projects aren't usually designed to make it easy for anyone to contribute with the learning curve.

> So how the hell does anybody get a job?

> This is general advice for non-compilers people, too: Be resourceful and stand out. Get involved in open-source communities, leverage social media, make use of your university resources if you are still in school (even if that means starting a club that nobody attends, at least that demonstrates you’re trying). Meet people. There are reading groups (my friend Eric runs a systems group in NYC; I used to go all the time when it was held in Cambridge). I was seriously considering starting a compilers YouTube channel even though I’m awkward in front of the camera.

There's a lot of advice and a lot of different ways to try to find a job, but if I were to take away anything from this, it's that the best way is to do a lot of different meaningful things. Applying to a lot of jobs or doing a lot of interview prep isn't very meaningful, whereas the most meaningful things have value in itself and often aren't oriented towards finding a job. You may find a job sooner if you prioritize looking for a job, similar to how you may get better grades by cramming for a test in school, but you'll probably get better outcomes by optimizing for the long term in life and taking a short term loss.

Re: Becoming a compiler engineer

#18

Not many companies are willing to maintain a compiler... but LLMs will change that. An LLM can find bugs in the code if the "compiler guru" is out on vacation that day. And yes, you will still need a "compiler guru" who will use the LLM but do so at a much higher level.

I'm desperately looking forward to, like, 5-10 years from now when all the "LLMs are going to change everything!!1!" comments have all but completely abated (not unlike the blockchain stuff of ~10 years ago). No, LLMs are not going to replace compiler engineers. Compilers are probably one of the least likely areas to profit from extensive LLM usage in the way that you are thinking, because they are principally concer…

I'm screenshotting this, let's see who's right.

Actually, your whole point about LLMs not being able to detect correctness is just demonstrably false if you play around with LLM agents a bit.

Re: Becoming a compiler engineer

#19

Not many companies are willing to maintain a compiler... but LLMs will change that. An LLM can find bugs in the code if the "compiler guru" is out on vacation that day. And yes, you will still need a "compiler guru" who will use the LLM but do so at a much higher level.

I'm desperately looking forward to, like, 5-10 years from now when all the "LLMs are going to change everything!!1!" comments have all but completely abated (not unlike the blockchain stuff of ~10 years ago). No, LLMs are not going to replace compiler engineers. Compilers are probably one of the least likely areas to profit from extensive LLM usage in the way that you are thinking, because they are principally concer…

I bet you could use LLMs to turn stupid comments about LLMs into insightful comments that people want to read. I wonder if there’s a startup working on that?

Re: Becoming a compiler engineer

#20
post #3

Not many companies are willing to maintain a compiler... but LLMs will change that. An LLM can find bugs in the code if the "compiler guru" is out on vacation that day. And yes, you will still need a "compiler guru" who will use the LLM but do so at a much higher level.

LLMs (or LLM assisted coding), if successful, will more likely make the number of compilers go down, as LLMs are better with mainstream languages compared to niche ones. Same effect as with frameworks. Less languages, less compilers needed.

See, I'm coming from the understanding that language development is a dead-end in the real world. Can you name a single language made after Zig or Rust? And even those languages haven't taken over much of the professional world. So when I say companies will maintain compilers, I mean DSLs (like starlark or RSpec), application-specific languages (like CUDA), variations on existing languages (maybe C++ with some in-house rules baked in), and customer-facing config languages for advanced systems and SaaS applications.
Post reply on HN