Programming Language Engineer
About the Position
We're looking for Software Engineers with a background in programming languages to join one of our PL-focused teams at Jane Street.
Programming languages work at Jane Street spans a wide variety of different areas:
Language design and type systems. Designing language features and stronger type-level guarantees that let our developers express more of what they mean, and catch more mistakes at compile time.
Compilers and optimisation. Investing in optimisation, code generation, and backend work that translates directly into measurable speedups across the firm's most performance-sensitive systems.
Incremental and parallel computation. Building runtimes that can evaluate large, irregular, dynamic computation graphs incrementally and/or parallel across many cores and machines, with first-class attention to scheduling, memory, and resource accounting.
Support for high-performance computing, including work on tooling, verification techniques, and languages for hardware design, as well as support for programming GPUs and other ML accelerators.
Domain-specific languages. Designing, implementing, and evolving custom languages that power some of our most important internal platforms.
Tooling and developer experience. Profilers, debuggers, language servers, IDE integrations, documentation tools, and the surrounding infrastructure that makes a language genuinely pleasant to use at scale.
Some of this work involves working on open-source language implementations, like those of OCaml and Python, and for those areas, a meaningful portion of our work is open-source as well. Some of it involves custom languages and DSLs that we’ve built entirely in-house, some open-source, some purely internal.
We’re looking for people who have:
Deep experience with—and love for—programming languages. There's no specific checklist; we are interested in people with experience in language design, type systems, compilers, runtimes, or DSL implementation
Top-notch programming skills
Strong interpersonal skills. Software engineering at Jane Street is highly collaborative, and we are looking for people who can work effectively in small, close-knit teams
No previous experience with OCaml or functional programming is required.
You only need to submit one application for Programming Language Engineering at Jane Street. We’re excited to evaluate folks for areas across all of these roles, but if you feel like your experience relates best to a more specific area, please indicate that in the notes section of your application. Fluency in English is required.
If you're a recruiting agency and want to partner with us, please reach out to agency-partnerships@janestreet.com.