Live data from Hacker News

Ask HN: Are compiler engineers still in demand, and what do they work on?

news.ycombinator.com

71–80 of 98 posts

Re: Ask HN: Are compiler engineers still in demand, and what do they work on?

#71
post #30

Quite a bit of work is happening around https://nim-lang.org/ and perhaps Status.im is still hiring.

i know an actual person who was hired to work on compilers/lang design there, so it's not out of the question, but it might require some kind of involvement with the language/community before that (if there are any open slots at all)

Re: Ask HN: Are compiler engineers still in demand, and what do they work on?

#72

Earlier quoted context omitted.

a bit off topic shot in the dark here, but no one seems to be able to tell me so far. what kind of machine code a quantum computer would execute. is it a instruction set like any computer or does it contain a lot of weirdness (instructions mapping to insane kind of micro-op sequences or something?) is there any information out on that topic at all? i am assuming it would still be mapping some electrical 1/0 kind of v…

Quantum processors don't have the same gate sets as are used in conventional computers, since they can be in superpositions rather than in just the 0 and 1 state. Instead of NAND gates, a universal set of quantum gates will include a gate capable of producing quantum mechanical interference, such as a Hadamard gate. Almost all programming languages are currently at this gate level, often implemented through Python or…

Thanks a lot for the response. Even though admittedly I can hardly comprehend what it means, it certainly gives me finally some topics and concepts to dive a bit deeper into to try and get my head around such a complicated topic, especially your points on the logic gates used. i've always looked at it more from a down to up approach, but this explains exactly why that has gotten me no where so far. thanks a lot. :D

Re: Ask HN: Are compiler engineers still in demand, and what do they work on?

#74
post #26

What qualifies someone to be a Compiler Engineer? Compsci degree? Working compilers? Opensource commits? Github repo full of parsers?

Degree in CS, ideally with a thesis on the field.

This is the real answer, it's a huge career risk to make compilers your niche unless you have an academic background in it. The gatekeepers in most CS specialties are really good, and there's an attitude that if you're not at least pursuing a doctorate/working on a big Google project then you're probably a charlatan.

Re: Ask HN: Are compiler engineers still in demand, and what do they work on?

#75
post #49

I work at Oracle Labs where GraalVM (graalvm.org) is being developed. I think this is one of the most exciting places to be right now for compiler engineers, and people with the right skills are certainly in demand. Some things that came out of this: partial escape analysis, the Graal JIT compiler, SubstrateVM, native-image, several Truffle language implementations (JS, Ruby, Python, LLVM), IGV for visualizing differ…

Basic/naive/stupid question that I've been genuinely curious about for a little while now: What are the real-world motivations behind reimplementing the noted languages on top of Truffle? These projects are frankly incredible - hundreds (thousands) of total man-years of work - and all to _re_build something that already exists. I'm missing context that I don't know where to look for. Is there anywhere I might look on…

Truffle languages don't require hundreds or thousands of man years of work. That's the point of them: implementing a language on Truffle is very easy compared to writing something like V8. You "just" write an interpreter and then extra code after that is about performance.

Most of the Truffle languages have small teams, like 2-3 engineers tops, and that's sufficient to catch up with and then keep pace with even a well funded ecosystem like JavaScript. For instance the GraalJS team keep adding proposed JS language features that aren't even fully rolled out yet.

As for why, well, Truffle languages have a bunch of advantages over implementing engines in other ways:

- They all interop with each other, with JVM bytecode languages, with anything that compiles to LLVM, and anything that runs on WebAssembly. All in the same VM with the same heap (i.e. they can all use pointers to each others constructs).

- You get access to HotSpot and in particular its state of the art GCs.

- Graal is an excellent compiler. V8 is better but only for JavaScript and only in warmup time; once code is warmed up (for servers) GraalJS produces code just as good as V8.

- You get a lot of sophisticated visualisation and debugging tools, both to help you develop and optimise the language (IGV) but also to analyse programs in production (VisualVM, JFR).

- You can support native extensions using [Safe] Sulong.

- You get debugger support for free, because Truffle languages all support the Chrome DevTools debugger protocol.

- They just added support for the language server protocol so you get some automatic support for IDEs.

- You get a consistent sandboxing API for free.

- Probably a lot of other things I forgot.

So you get a better engine than most languages can afford, for way less cost, with way more features and access to a huge ecosystem of libraries from all the different languages. Pretty snazzy.

Re: Ask HN: Are compiler engineers still in demand, and what do they work on?

#76
post #64

Earlier quoted context omitted.

I hope am not being pushy but could you please say how much you made and in which company? Thanks

I'm not a compiler engineer, but I'm willing to venture that the lower bounds of a "competitive salary" for an engineer in silicon valley is somewhere between 200 & 250k. Compiler engineers may make much more, I don't know, but it's unlikely they make less than that. Perhaps that answers your question?

Yes, on that order of magnitude, as a starting salary after grad studies.

Re: Ask HN: Are compiler engineers still in demand, and what do they work on?

#78

Earlier quoted context omitted.

I worked as a compiler engineer at a big tech company in SV and lived very comfortably, was able to put a lot of money aside. The demand outstrips the supply, it's hard to hire qualified people, so the salaries have to be high to attract those qualified. Tangentially, I think the supply is small because compiler engineering is not a fashionable field of study. Everyone wants to do "AI" these days.

I hope am not being pushy but could you please say how much you made and in which company? Thanks

Check levels.fyi for salary range at various companies. Most companies do not distinguish someone who work on compiler from the general software engineer, so software engineer salaries there directly apply.

Re: Ask HN: Are compiler engineers still in demand, and what do they work on?

#79
post #44

Earlier quoted context omitted.

Any comment on the salary in these positions? Are they higher than for the average software developer, and if so, by how much? I am wondering since to my experience, the application and development of logics and verification procedures to be used in programming language development requires vastly different and more rigorous personality and working methods than in your average web developer gig.

I wonder if it's similar to embedded software development (which also requires "rigorous working methods"). Salaries for embedded are generally lower than for web development because there's much less demand for embedded skills.

Embedded software development has improved over the past years reasons being more silicon/asics in vehicles and other places, autonomous driving needs, robotics in supply chain, IOT, smart home. There are lot of opportunities for embedded sw these days.

Re: Ask HN: Are compiler engineers still in demand, and what do they work on?

#80
I'm curious about whether there is a large skills overlap between engineers working on compilers and embedded DSLs (for the case of external DSLs, such an overlap would IMO be quite significant).

By the way, are there any people here (or, perhaps, you could recommend someone) who is very capable and would be interested in doing some potential contract work on a DSL (I'm still pondering about embedded vs. external - obviously, each category has their own pros and cons, but platform stack selection adds an additional complexity dimension)? Several people who I have approached so far, are definitely very knowledgeable, but they all work in academia and, thus, practically, have no time for consulting or contract work. :-( Not to mention potential issues arising from IP clauses in some experts' university contracts, hence the question above.

Post reply on HN