Programming Language Engineer
- Discuss 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.
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.
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 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.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on www.totaljobs.comGood 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
Where to Find Entry-Level Software Engineering Jobs
The 12 Best Jobs for Software Engineers
Where To Find Software Engineering Jobs