Programming Language Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+2 more
Job description
- 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.
Requirements
- 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.
About the company
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 optimization. Investing in optimization, 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.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
7 Most Popular Programming Languages For 2023
Dev Digest 121 - AI goes offline
Dev Digest 131 - AI'm not sure about OSS
Dev Digest 120 - Apple and peers