Live data from Hacker News

Becoming a compiler engineer

rona.substack.com

71–80 of 160 posts

Re: Becoming a compiler engineer

#71
post #26

Interesting article to get a bit more knowledge about the field. I went quickly trough some of the books cited and I have the same feeling that they’re not very practical. Also I didn’t find many practical books about LLVM either. I would like to read in the future about what is the usual day of a compiler engineer, what you usually do, what are the most enjoyable and annoying tasks.

I've heard good things about "LLVM Techniques, Tips, and Best Practices" [0] but haven't gotten around to reading it myself yet. Packt does not always have the best reputation but it was recommended to me by someone I know and the reviews are also solid, so mentioning in case it's at all helpful.

0: https://www.packtpub.com/en-us/product/llvm-techniques-tips-...

Re: Becoming a compiler engineer

#72
post #30

[flagged]

LLVM is certainly not a recommended way to start. That would be to start with a small lisp or ocaml compiler. There you have all the batteries included and the project would still be small enough.

Sure if you want to build a lisp clone.

Anything else, you're better off starting off with LLVM. Especially if you want a compiler job.

Re: Becoming a compiler engineer

#73

[flagged]

[flagged]

> Lots of people study compilers and even do theses and dissertations on the topic, and absolutely can't find work doing that.

What's your point? Maybe those people aren't as good as her at turning their academic knowledge into real-world skills. Clearly the main reason she ever got hired anywhere was because she passed the interviews, which should tell you that she knows her stuff. Being charming and having contacts only gets you so far; nobody will hire you to work on compilers just because you smile and drop names.

Re: Becoming a compiler engineer

#74
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 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!

Re: Becoming a compiler engineer

#75

[flagged]

> This is a personal puff piece.

Seriously? She's posting on her personal blog (that's what her substack is). Up front she says that one of the two kinds of people she's writing for are those who are interested in her personally.

> she needn't use

There are a lot of things that people needn't do, like absurdly talk about "attack vectors".

Re: Becoming a compiler engineer

#77
post #73

Earlier quoted context omitted.

[flagged]

> Lots of people study compilers and even do theses and dissertations on the topic, and absolutely can't find work doing that. What's your point? Maybe those people aren't as good as her at turning their academic knowledge into real-world skills. Clearly the main reason she ever got hired anywhere was because she passed the interviews, which should tell you that she knows her stuff. Being charming and having contacts…

Well, you know, she's female.

Re: Becoming a compiler engineer

#78
post #68

Earlier quoted context omitted.

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.

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…

[flagged]

Re: Becoming a compiler engineer

#79
post #56

Earlier quoted context omitted.

So few people trained or specialized in language implementation and compiler writing actually get the chance to write compilers. Those jobs are just so rare that many people in that area re-specialize into something else (like AI these days).

They aren't that rare. And AI is expanding the niche because making parallel linear algebra go zoom zoom is compiler work. There's also a lot of quantum compiler work.

Ya, I almost got a quantum compiler job at Alibaba (they decided to go in a different direction), and a job with Microsoft working complied ML support for Julia also fell through (I passed the interview, but they couldn’t get the head count) before ultimately joining Google working on developer experiences.

Re: Becoming a compiler engineer

#80
post #72
post #30

Earlier quoted context omitted.

LLVM is certainly not a recommended way to start. That would be to start with a small lisp or ocaml compiler. There you have all the batteries included and the project would still be small enough.

Sure if you want to build a lisp clone. Anything else, you're better off starting off with LLVM. Especially if you want a compiler job.

I've got compiler jobs without ever touching LLVM. Even gcc has a better codebase and performance. If just its maintainers would behave as nice as the LLVM maintainers who are really nice.

Eg with gcc you can write a jit in pure C. With LLVM you'd still need C++ for name lookup hooks. With qbe you won't need any of this. With lisp much less.

Post reply on HN