Becoming a compiler engineer
rona.substack.com288 points by lalitkale 3 days ago
288 points by lalitkale 3 days ago
If folks are interested in compilers and looking for where to get started, we're always looking for new contributors:
Building the Linux kernel with LLVM: https://github.com/ClangBuiltLinux/linux/issues
LLVM itself: https://github.com/llvm/llvm-project/issues?q=is%3Aissue%20s...
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 market (2001), and it was hard to get a job. But this seems a bit different
> 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.
While the economy's definitely in a shitty spot (and IMO heading towards shittier), I wouldn't necessarily take this specific line as a sign of the times. The author does outline reasons why demand for compiler engineers (and junior ones in particular) is likely low in her post.
Compiler development is (for better or worse) a niche that favours people who've got real-world experience doing this. The traditional ways to get in have either been through high-quality, high-profile open-source contribs, or because your existing non-compiler-dev job let you inch closer to compiler development up until the point you could make the jump.
As the author noted, a lot of modern-day compiler work involves late-life maintenance of huge, nigh-enterprise-type code bases with thousands of files, millions of LOC, and no one person who has a full, detailed view of the entire project. This just isn't experience you get right out of school, or even a year or two on.
Honestly, I'd say that as a 2023 grad with no mentors in the compiler dev space, she's incredibly lucky to have gotten this job at all (and to be clear, I hope she makes the most of it, compiler dev can be a lot of fun).
Yup, I have been a junior compiler engineer at three(!) different jobs early in my career, before moving on to other stuff.
It has never been a huge niche. It's fun work if you can get it. There were often MIT grads around, but I don't think it made you an automatic hire?
Once in a blue moon, for old times' sake, I send a bug fix PR for someone's optimizer, or build a small transpiler for something.
Elaborate on this. Is it not sad when a UIUC Or Perdue grad can’t get a compiler engineer job out of undergrad? What does it mean to be cooked?
Rephrased: If a graduate with relevant coursework from a top institution struggles to find a job in a particular field, what sort of chances do the rest of the graduates from less known colleges have?
It makes sense now, doesn't it?
UIUC and Perdue are not lesser known than MIT. Big state schools are roughly as known they just don’t have the same signal for being a superhuman.
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.
I'm not familiar with the current job market (There is a lot of uncertainty throughout all of the US hiring departments in all fields right now), but it certainly wasn't that hard a couple of years ago.
Compilers are just programs like anything else. All the compiler developers I know were trained up by working on compilers. Just like people writing B2B ecommerce software learned how to do so by working on B2B e-commerce software and embedded software developers learned how to do so by working on embedded software.
Heck, a typical CS degree probably covers more of the basics for compilers than B2B ecommerce software or embedded software!
But there are magnitudes more B2B ecommerce software than compilers for people to get experience on.
I’d expect it to be a pretty small niche. How many companies need compiler engineers? Some big tech companies have compiler groups, but they’re a small part of the business. Most software companies are consumers of compilers, not producers.
The comments are wildly fragmented in this thread. I agree with @torginus, the article has less and less of anything useful to people that want to get into compilers.
Anyways, the "Who .. hires compiler engineer?" section is fairly vague in my opinion, so: AMD, Nvidia, Intel, Apple, Google definitely hire for compiler positions. These hire fairly 'in-open' so probably the best bets all around. Aside from this, Jane Street and Bloomberg also do hire at the peak tier but for that certain language. The off beat options are: Qualcomm, Modular, Amazon (AWS) and ARM. Also see, https://mgaudet.github.io/CompilerJobs/
I seriously attempted getting into compilers last year before realising it is not for me but during those times it felt like people who want to be compiler devs are much much more in number compared to jobs that exist (yes exist, not vacant).
The common way to get going is to do LLVM. Making a compiler is great and all but too many people exist with a lox interpreter-compiler or something taken from the two Go books. Contributing to LLVM (or friends like Carbon, Swift, Rust) or atleast some usage experience is the way. The other side of this is doing GNU GCC and friends but I have seen like only one opening that mentions this way as being relevant. University level courses are rarely of any use.
Lastly, LLVM meetups/conferences are fairly common at most tech hubs and usually have a jobs section listing all requirements.
A few resources since I already made this comment too long (sorry!):
[0]: https://bernsteinbear.com/pl-resources/ [1]: https://lowlevelbits.org/how-to-learn-compilers-llvm-edition... [2]: https://www.youtube.com/@compilers/videos
> Making a compiler is great and all but too many people exist with a lox interpreter-compiler or something taken from the two Go books
Damn, you don’t hold back, do you?
It's not that it's bad that people have written a compiler. It's that having written a simple one isn't a very useful indicator.
Good synopsis! I enjoyed my time doing some compiler-type work in the past, but there are so few job openings that it can feel quite cramped after awhile, especially without great experience/credentials.
Definitely worth some self-study, however, if only for the healing effect of being exposed to a domain where the culture is largely one of quality instead of...everything except that. :)
Semiconductor companies developing DSPs also likely hire them. My first job was writing an LLVM backend for a DSP.
Looking through the domains in the LLVM mailing list or the git commits should get you a longer list of "off beat" options.
Microsoft also has many engineers working on compilers, with open positions - MSVC, C#, F#, CLR, rustc and other projects.
> but for that certain language
What do you mean by that?
I assume they mean those firms hire compiler engineers to work on the specific languages they use. Jane Street famously uses OCaml for pretty much everything. Not sure about Bloomberg, though a quick search shows that they have Bloomberg Query Language and Bloomberg Scripting Language, both proprietary.
Thanks!
Bloomberg also does use OCaml by the way, although probably not to the extent of Jane Street.
Tangential but since she mentions her book, "You Had Me At Hello World", is the cutest title for a nerd romance novel that I can imagine.
It was supposed to be out years ago! She got a substantial advance but presumably delayed it due to the plagiarism scandal
> plagiarism scandal
Do tell
From one of the publishers she worked with - https://www.halfmystic.com/blog/you-are-believed
I've been in compiler engineering now for almost a decade. No grad school, just moved into the field and did a lot of random projects for my own entertainment (various compilers for toy languages, etc). It takes a particular type of person who cares about things like correctness. It is a very bizarre subsection of people with an improbably high number of transgender people and an equally high number of rad trad Catholics.
Which is to say that all it takes is an interest in compilers. That alone will set you apart. There's basically no one in the hiring pipeline despite the tech layoffs. I'm constantly getting recruiting ads. Current areas of interest are AI (duh) but also early-stage quantum compute companies and fully-homomorphic encryption startups. In general, you will make it farther in computer science the more niche and hard you go.
Rad trad Catholics makes sense because Catholic theology involves a lot of logic
True, the scholastics were an effort to derive theology from philosophy and logic and are how Asian and Greek philosophy and culture became part of the Western world, which then evolved into Western logic, Math and Philosophy.
The cultural importance of education in Jewry, the preservation of that in Christianity and that Christians can never take any understanding of something for granted and always need to question everything, because the Universe (being created by God) will always be more complex than any current knowledge of it, is the origin of the Western concept of Empirism and formalized (Natural-)Science, even if a lot of modern Atheists like to sweep that under the rack.
A lot of early and also late scientists researched as a part to understand the world their God created, meaning they understood it as a approach to worship God.
I'm almost more interested in how a 20-something with no apparent prior pedigree lands a Simon and Schuster debut novel contract!
She lost that contract after being found guilty of plagiarism. That’s why she avoids mentioning her considerable writing career at all
It's fiction what is she plagiarizing
What I just said is a fact. Look it up if you like
The similarities are intriging but not compelling.
https://docs.google.com/document/d/1pPE6tqReSAXEmzuJM52h219f...
Stories of "asian face" actresses with eyes taped back, prominent pieces of anti asian grafitti on walls and drawn in bathrooms are common tropes in asian communities, etc.
The examples of plagiarism are examples of common story arcs, with an educated asian female twist, and use of examples that multiple writers in a shared literary pool would have all been exposed to; eg: it could be argued that they all drew from a similar well rather thn some were original and others copied.
There's a shocked article: https://www.halfmystic.com/blog/you-are-believed that may indeed be looking at more evidence than was cited in the google docs link above which would explain the shock and the dismissal of R.W. as a plagiarist.
The evidence in the link amounts to what is common with many pools of proto writers though, lots of similar passages, some of which have been copied and morphed from others. It's literally how writers evolve and become better.
I'm on the fence here, to be honest, I looked at what is cited as evidence and I see similar stories from people with similar backgrounds sharing common social media feeds.
One of her publishers pulled her book from print, publicly accused her of plagiarism, and asked other publishers to denounce her for plagiarism.
That’s pretty damning evidence. If a publisher was on the fence they might pull her books quietly, but they wouldn’t make such a public attack without very good evidence that they thought would hold up in court. There was no equivocation at all.
Said publisher also claims Rona directly admitted plagiarism to them. That’s probably why they’re so confident.
That's a pretty damning response, sure.
The evidence, at least the evidence that I found cited as evidence, appears less damning.
Perhaps there is more damning evidence.
What I found was on the order of the degree of cross copying and similar themes, etc. found in many pools of young writers going back through literary history.
Rona Wang, whom I've never previously heard of, clearly used similar passages from her peers in a literary group and was called out for it after receiving awards.
I would raise two questions, A) was this a truly significant degree of actual plagarism, and 2) did any of her peers in this group use passages from any of Tona's work ?
On the third hand, Kate Bush was a remarkable singer / song writer / performer. Almost utterly unique and completely unlike any contempory.
That's ... highly unusual.
The majority of writers, performers, singers, et al. emerge from pools that differ from their prior generations, but pools none the less that are filled with similarity.
The arc of careers of those that rise from such origins is really the defining part of many creators.
> Perhaps there is more damning evidence.
Do you consider the announcement from her publisher that she admitted that she plagiarized passages as a damning response or damning evidence?
It is evidence because a strong condemnation raises the likelihood that the accusation is true.
It doesn’t prove anything, but it supports the theory that they have seen additional evidence.
After researching this a bit, it looks like someone from publisher says she admitted it to them. That certainly explains why they weren’t afraid to publicly condemn her.
Thanks, I looked at some of those examples. Several I saw were suspiciously similar, and I wonder how they got that way. Others didn't look suspicious to me.
I wonder whether the similar ones were the result of something innocent, like a shared writing prompt within the workshop both writers were in, or maybe from a group exercise of working on each others' drafts.
Or I suppose some could be the result of a questionable practice, of copying passages of someone else's work for "inspiration", and rewriting them. And maybe sometimes not rewriting a passage enough.
(Aside relevance to HN professions: In software development, we are starting to see many people do worse than copy&revise a passage plagiarism. Not even rewriting the text copy&pasted from an LLM, but simply putting our names on it internally, and company copyrights on it publicly. And the LLM is arguably just laundering open source code, albeit often with more obfuscation than a human copier would do.)
But for a lot of the examples of evidence of plagiarism in that document, I didn't immediately see why that passage was suspect. Fiction writing I've seen is heavily full of tropes and even idiomatic turns of phrase.
Also, many stories are formulaic, and readers know that and even seek it out. So the high-powered business woman goes back to her small town origins for the holidays, has second-chance romance with man in a henley shirt, and she decides to stay and open a bakery. Sprinkle with an assortment of standard subgenre trope details, and serve. You might do very original writing within that framework, but to someone who'd only ever seen two examples of that story, and didn't know the subgenre convention, it might look like one writer totally ripped off the other.
No I'm literally saying - she writes fiction- how can you plagiarize a fiction book and make it work lol
(I have no knowledge / context of this situation - no idea if she did or what happened here)
You don't seem to know what plagiarism is.
I'm struggling to understand the circumstance you'd plagiarize fiction - you can literally write anything you want. Why steal someone else's writing and slap it in your book? It'll either stand out and be weird / stilted or you took the time to make it work somehow in which case you probably rewrote it and so why steal in the first place? Or like use allegory instead?
Obviously it shouldn't be done in any circumstance
You can't plagiarize fiction?
So if I copy paste Harry Potter that's ok?
What kind of argument is that
Absolutely not saying this or making this argument.
I just don't see how this could possibly work - how would slapping Harry Potter in the middle of the book your writing work
Instead of slapping Harry Potter in the middle of your book wholesale, imagine you lifted a few really good lines from Harry Potter, a few from Lord of the Rings, and more from a handful of other books.
Read the evidence document another poster linked for actual examples.
To me as a dumb reader, that would be fine, maybe the author could have mentioned that he likes these authors and takes them as inspirations. Also you can't really forbid books to never have references to pop culture. And at some level of famous-ness passages and ideas loose their exclusive tie to the original book and become part of the list of common cultural sayings.