Skip to content

Latest commit

 

History

History
1063 lines (636 loc) · 30.8 KB

README.md

File metadata and controls

1063 lines (636 loc) · 30.8 KB

Compiler, Language and Runtime Teams

A listing of compiler, language and runtime teams for people looking for jobs in this area. My motivation for curating this is in this blog post.

Scope

  • Teams that work on language implementations, compilers for languages, language runtimes, static analysis, etc. This includes things like:

    • Database query compilers
    • HDL & Synthesis Compilers

    I want to err on the side of openness! The field is broad, and I don't want to be too close-minded here.

  • I generally want evidence that a company has hired at some point in the past or will in the future (which excludes some boutique firms & early stage startups).

Contributing

Please contribute: Pass on projects, teams, companies I've missed.

Feel free to spruce up the description of the work for teams you know about! Many of these are simply stubs

I generally link to a company's Careers/Job's page rather than linking to specific jobs -- these links have a longer lifespan than just the straight up link to a job.

Annotations:

  • 📤: Remote Work Supported

    At the time the icon was added, the company offered remote work.

  • 🧑‍🎓: Internships offered

    These companies are known to have offered internships or co-ops in compiler, languages and runtimes.

  • 🗺 : Location

    Derived from job postings or other knowledge, this is where the team works. Definitely not comprehensive! Please, help me update this too!

Companies ()

  • LLVM Toolchain Development

AdaCore 📤 🧑‍🎓

🗺 New York (US), Paris & Grenoble & Toulouse & Vannes (France), Bristol (UK), Tallinn (Estonia)

🗺 Karlsruhe, Germany

  • Real-time JVM

🗺 Santa Clara, CA

  • Computer vision AI hardware compiler

AMD 📤 (some teams)

  • AOCC
  • ROCm
  • LLVM upstream work on the AMDGPU backend
  • Work on OpenJDK
  • Pyston: General-purpose Python JIT originally developed at Dropbox

🗺 Toronto / Markham, Canada

  • Quantum Compiler Development
  • MLIR/LLVM

Apple 🧑‍🎓

🗺 Cupertino, CA, London, UK, Israel

  • Clang and LLVM
  • Swift
  • GPU Compiler
  • JSC (JavaScript interpreter created as part of WebKit)
  • Static Analysis tooling
  • GCC
  • LLVM work to support Arm32 (embedded), and to support Scalable Vector Extension (SVE)
  • LLVM-based downstream GPU compiler for Mali GPUs
  • ML compiler

🗺 Campbell, CA, Stavanger and Oslo, Norway

  • LLVM and Hardware codesign.

Astral 📤

  • Ruff, a linter and autoformatter for Python code written in Rust.

🗺 Quebec, Ontario

Azul 📤

  • Java Virtual Machine
  • Falcon JIT compiler (LLVM)

Bodo 📤

🗺 Pittsburgh, PA

  • Python, LLVM

🗺 Cambridge, MA

  • Building the Hail project for genomics, including a custom language and compiler.

🗺 Upton, New York

Work on the Programming Models and Compilers (PMC) group of the Computational Science Initiative.

🗺 Mountain View, California

  • Performance analysis and optimization
  • Building and improving Rust Compiler & toolchain for Ubuntu

🗺 Los Altos, CA, San Diego, CA or Toronto, Canada

  • LLVM and more

🗺 Belgrade, Serbia

  • Work on CISCO Silicon One™ compiler
  • Cloudflare Workers: V8 (WebAssembly, Javascript, deployed at the edge)

Codasip 🧑‍🎓📤 (Europe/US)

🗺 Brno/Prague, Czech Republic, Munich, Germany, and Bristol, UK

  • CHERI extension for LLVM (RISC-V)
  • LLVM engineers, to support the RISC-V vector processing unit
  • Clang, LLVM, LLDB
  • Clojure and ClojureScript

🗺 Austin, TX

  • Building an LLVM based C compiler for Coherent Logix's multicore chip.

🗺 New York City

  • Building languages for probabilistic programming and causal reasoning.
  • Static/Dynamic analyses and code transformation.
  • Julia oriented.
  • Custom LLVM-based compiler toolchains for clients

🗺 US, Canada

  • The Sensor and Language Tooling (SaLT) team works on a DSL to script Falcon's threat detection sensor

Cruise 📤 (US only)

🗺 Multiple locations, US

  • ML compiler based on MLIR

🗺 _Santa Clara, California _

  • Deep Neural Network hardware, with associated compiler (LLVM+MLIR)
  • Elixir
  • WOQL Compiler

Deno 📤

  • JavaScript runtime and tools written in Rust

🗺 Kingston, ON (Canada)

  • Distributed Computing on Web Stack - scheduling, WASM toolchains, etc.
  • PythonMonkey, deep embedding of SpiderMonkey (JS engine) into Python VM

🗺 San Fransisco CA, Palo Alto CA, Zurich Switzerland

  • Motoko programming language and system for blockchain smartcontracts.
  • C/C++ compilers
  • D compiler
  • Dyalog APL

🗺 Tokyo, Japan

  • Machine learning hardware compilers

🗺 Southampton, UK, Nürnberg, Germany

  • Open Source toolchain development, with a primary focus on GCC, LLVM and Verilator.

🗺 Karlsruhe, Germany

  • Source-to-source compilers
  • Static analysis (LLVM)
  • Parallelizing transformations
  • Compiler for visual programming language, JIT based on Graal/Truffle.
  • DSL compiler and toolchain for game development

🗺 Mountain View, California, Austin, Texas Portland, Oregon, Barcelona, Spain

  • LLVM and GLOW compiler teams for RISC-V AI acceleration.

🗺 Brno, Czechia

  • GNU GCC, GDB, Binutils development for Xtensa and other architectures.
  • Erlang

🗺 San Jose, Seattle

  • Compilers for Security work
  • LLVM-based compiler for custom cryptographic hardware

🗺 Boulder, CO

  • ML Compiler work

Flow Computing 📤 (preferably Europe)

🗺 Oulu, Finland

  • LLVM (mostly back-end)
  • Aquamarine, a distributed choreography language & platform
  • Building Sway, a smart-contract programming language

🗺 Seoul, South Korea

  • AI Accelarator
  • Rust compiler work.

🗺 Arlington, VA

  • Programming language design and implementation for building trustworthy computing.

GitHub 📤

  • CodeQL, a query language for writing custom static analysis rules

Google 📤

🗺 Mountain View, CA, Seattle, WA, and London, UK

Innumerable projects, but off the top of my head:

GrammaTech 📤 (US only)

🗺 Ithaca, NY

🗺 Bristol, Cambridge, UK

  • Machine learning hardware compiler (LLVM)
  • Certified C/C++ for Embedded

🗺 Portland, Mountain View, Toronto

  • Machine Learning Hardware compilers

🗺 Leuven, Belgium / Munich, Germany

  • ProGuard
  • LLVM-based software protection and hardening
  • Android application protection and hardening
  • Mobile application security testing

🗺 Singapore

  • Quantum computing compiler

HPE 📤🧑‍🎓

  • Chapel
  • Cray Programming Environment, a suite of Fortran, C and C++ compilers
  • LLVM contributions
  • Research and Development work in compilers and runtime systems.
  • LLVM
  • Rust

IBM 🧑‍🎓

🗺 Markham, Ontario, Canada

As well as some other IBM internal compilers, and LLVM projects.

🗺 Multiple locations, UK

  • LLVM middle/back-ends

🗺 Multiple locations, France

  • OCaml, Coq

Intel 📤 (few teams at Intel Labs)

Igalia 📤🧑‍🎓

🗺 A Coruña, Galicia, Spain / Worldwide

  • Consultancy which is heavily involved in free and open source software, and the web platform. Known in compilers circles for work on scripting engines (SpiderMonkey, V8, JSC), as well as LLVM and Guile.

Jane Street 🧑‍🎓

🗺 New York, London

🗺 Munich & Berlin Germany, Prague Czech Republic, Amsterdam Netherlands, Cyprus, Serbia, Armenia (other locations for non-compiler jobs)

  • Kotlin

JITX 📤

🗺 SF Bay Area, CA

  • DSL to generate circuit board designs
  • J programming language

Julia Computing 📤🧑‍🎓

🗺 Boston, MA

Klara 📤

  • LLVM for ARM on FreeBSD
  • K programming language
  • AI Portability
  • Machine learning hardware compilers
  • LLVM work supporting the Arm architecture

🗺 Paris, France

🗺 Cambridge, UK

  • Non-profit with LLVM RISC-V work
  • Compiler for a visual programming language.

🗺 Natick, MA, USA

  • LLVM-based compiler for executing Ethereum smart contracts
  • GCC contributions

A variety of projects, a limited subset of which I know about below.

🗺 Moscow, Russia

  • LCC optimizing compiler for MCST's chips
  • Binary translator from x86 to own Elbrus ISA

🗺 Woburn, MA, USA

  • Compiler development for MediaTek chips
  • Deep Learning Compiler
  • Compiler development for Microchip's chips.

🗺 Berlin, Munich, Stuttgart, Germany

We develop custom GraalVM and Java runtime environments and virtual machines for use in embedded systems:

  • GraalVM Enterprise and Community runtime environments.
  • Java SE, OpenJDK and J9 runtime environments.
  • Target operating systems include QNX, Linux, Android, Windows CE, OSE.
  • Target processor architectures include ARM 64-bits and 32-bits, Intel x86 32-bits, AMD x86_64, MIPS, PowerPC.
  • Implementing custom features inside the JVM or standard library.
  • Koka, Lean, F* (F-star)
  • probably other things too.

Modular 📤

  • Building AI tooling.
  • Accelerating blockchain

Mozilla 📤 🧑‍🎓

  • Building Glow, a language for DApps

🗺 SF Bay Area, CA

  • Machine learning hardware compilers

Nethermind 📤 🧑‍🎓

  • Get to contribute to a compiler for a target language with a novel memory model
  • Opportunity to work on tooling support

🗺 Israel, Zurich

  • MLIR work for specialised HPC hardware
  • Ethereum L2

🗺 Redmond, WA

  • Compiler engineering
  • Compiler Engineering (Rust) - Slang
  • Ethereum Development Runtime (Rust) - EDR

Nuvia 📤

  • Toolchain development (LLVM, GCC)

NVIDIA 📤 (some teams)

  • LLVM middle-end/back-end contributions
  • Front-end work on nvcc to support CUDA
  • Flang
  • ML Compiler
  • LLVM

OCamlPRO 🧑‍🎓

🗺 Paris, France

  • Toolchains for OCaml, COBOL and Rust

  • Positions for industry oriented doctoral theses and internships

🗺 Montreal, QC, Canada

  • Compilers for Octasic’s multi-core digital signal processors (LLVM)

OctoML 📤

🗺 San Fransisco

  • Triton, a language and compiler for writing highly efficient custom Deep-Learning primitives

🗺 Richmond Hill, ON, CA Waterloo, ON, CA Ottawa, ON, CA Mississauga, ON, CA

  • Application Security static analysis (OpenText Fortify)
  • OpenJDK, including the hotspot compiler

🗺 Zurich, Linz, California, Prague, Brno, Lviv, Casablanca, Belgrade, Remote (📤)

Oso 📤

🗺 New York, US / Remote (US/Europe)

  • Polar: a logic programming language for expressing authorization logic and policies.

🗺 San Francisco, 📤 Remote

  • Bun: a JavaScript runtime with a native bundler, transpiler, task runner, and npm client built-in.
    • Written in Zig

🗺 Aarhus, Denmark

  • Creating a language for multi-party computation.

🗺 Milpitas, CA

  • P4 compiler targetting the Capri processor (LLVM)

🗺 Portland

  • PGI's compilers
  • Flang, a Fortran frontend for LLVM

🗺 US

🗺 San Fransisco

  • Scala + Spark engineering (Query optimizer)

🗺 Burlingame, CA

  • LLVM development for Quadric platform

Qualcomm 📤 (some teams)

  • LLVM (Hexagon backend, Polly)
  • GPU Compiler
  • ML Compiler

🗺 Multiple locations, UK/US/Japan

  • Quantum compiler

🗺 Paris, France (remote available within France)

  • A security product built on LLVM

R2C 📤

🗺 San Fransisco, CA

  • Program analysis tools
  • DSL for optimising biotech procedures and executing them in a physical biology lab
  • A variety of compiler/language engineering projects, providing modernization and cost reduction.
  • GCC
  • JVM (OpenJDK)
  • LLVM
  • Quantum Computing Compiler (LLVM + Rust)

🗺 Mountain View CA, Austin TX, Portland OR, Fort Collins CO, and Cambridge, UK

  • LLVM contribution for RISC-V

🗺 San Mateo, CA

  • Embedded scripting languages for the Roblox game engine, for example Luau
  • K Framework
  • Deep Learning Compiler (MLIR)
  • Place & Route (PNR)

🗺 San Jose

  • JIT Compiler for Samsung GPU (OpenGL-ES, OpenCL)
  • ABAP
  • JVM
  • Node.js
  • Non-profit with Scala compiler work (JVM, Scala.js, Scala native), editor integration and tooling

SEGGER 📤

🗺 Austin, TX

  • DMS, a suite of program transformation tools for large scale software systems
  • PARLANSE, a parallel programming language
  • Compiler technology used for application security.

Shopify 📤

  • Ruby
  • Static analysis and typing
  • Interpreters, garbage collectors
  • JVM, Truffle, Graal
  • Dart VM and compiler

🗺 A number of locations

A number of Compiler/PL projects:

  • HDL Compilers
  • DSL Compilers
  • Industrial Automation Compilation

🗺 San Mateo, California, Hsinchu Taiwan

  • LLVM, MLIR

🗺 Cologne

  • Heterogenous architecture development

🗺 San Jose, CA

  • Machine Learning accelerator compiler
  • Hardware software co-design

SiPerl 🧑‍🎓

🗺 Multiple locations, Europe

  • LLVM-based compiler

🗺 _ Bellevue, WA, & San Mateo, CA_

  • Database query compiler

🗺 Bucharest, Romania

  • Snyk Code, a static analysis tool that exists as part of the Snyk platform
  • Solang, a compiler for Solidity that targets WebAssembly and BPF

🗺 US, Canada, Colombia

🗺 Bangalore, India

  • LLVM Compiler Development

🗺 Grenoble, France

  • Support for STMicroelectronic products
  • Clang, LLVM

Styra 📤

🗺 US, Canada, Europe

  • Makers of Open Policy Agent and the datalog-derived logic programming language Rego.
  • Interpreters, compiler (e.g. compiling Rego to Wasm), and applications of static analysis.
  • Makers of Coverity
  • LLVM work on the ARC backend
  • LLDB
  • Neural Network Compiler
  • Working on Program Synthesis
  • Compiler toolchain development for a new architecture that supports binary translation.

Tarides 📤

🗺 Paris, France, Cambridge, UK, Chennai, India

  • OCaml compiler

🗺 Toronto, ON

  • Machine learning hardware compilers

🗺 Wuhan, China

  • AI compiler development based on LLVM/MLIR
  • Mojo language development
  • RISC-V compiler toolchain development
  • CIRCT compiler development
  • ClangIR development

🗺 SF Bay Area

  • Machine learning hardware compilers, LLVM

The Browser Company 📤 (US/Canada)

🗺 New York, US

  • Swift compiler work

🗺 Vienna

  • Compiler support for ARM SoC
  • LLVM
  • TI specific compiler toolchains

🗺 Mountain View, CA

  • Compilers for mobile platforms

Trail of Bits 📤 🧑‍🎓

Security firm that does compiler engineering and research

🗺 San Francisco, Paris

  • .NET
  • Mono
  • IL2CPP, a compiler to convert .NET IL to C++

🗺 Toronto, Canada

Building machine learning hardware

🗺 Grenoble, France

Building a processing-in-memory product.

  • LLVM-based compiler
  • Static analysis and abstract program interpretation for software hardening

🗺 Pleasanton, Columbus, Boston, Kansas City, New York City, Raleigh, and Toronto

  • Work on Language and Runtime system
  • RISC-V Architecture
  • GCC
  • LLVM
  • Performance Analysis

🗺 United States

Static analysis framework for JavaScript applications

Automated analysis of blockchain programs, built atop LLVM

🗺 Bristol / Cambridge

Toolchain development for RISC-V core with novel hardware memory allocation management technology.

  • WebAssembly runtime (LLVM)

🗺 Mountain View, CA

  • Machine learning hardware compiler
  • Glasgow Haskell Compiler (GHC)

🗺 Wellington, NZ

  • Shader Language development
  • LLVM
  • Erlang

Wibu-Systems 🧑‍🎓

🗺 Karlsruhe, Germany

  • compiler development and security research with LLVM, .NET CIL, Python and more
  • Compilers for VxWorks

🗺 Linköping, Sweden

  • Wolfram language, WolframAlpha, Mathematica
  • Modelica

🗺 Pleasanton, CA

  • Compiler, runtime and IDE for Workday's proprietary programming languages, XpressO and YP

🗺 Tokyo, Japan

  • Static analysis and developer tools for vehicle software.

🗺 Cologne, Germany

  • Compiler for FPGA Systems

🗺 Toronto, Canada

  • Compilation stack for quantum computing and hybrid computation
  • LLVM, MLIR, QIR

🗺 Dundee, Scotland

  • LLVM
  • GML (GameMaker Language) compiler
  • JavaScript compiler
  • Integrated Development Environment targeting desktop, web, mobile and games console environments

🗺 Foster City, CA

  • Program analysis tools for verifying firmware