Programming Language Engineer

Jane Street

$120K — $180K *
Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Deep experience and passion for programming languages.
  • Proficient programming skills in relevant languages.
  • Strong interpersonal skills for team collaboration.
  • Experience in language design, type systems, compilers, or runtimes is preferred.
  • No prior knowledge of OCaml or functional programming is necessary.

Responsibilities

  • Design language features and improve type-level guarantees for better error-checking.
  • Contribute to compiler optimization and performance enhancements for critical systems.
  • Develop runtimes for efficient incremental and parallel computation.
  • Support high-performance computing through language tooling and GPU programming.
  • Create and evolve domain-specific languages for internal platforms.
  • Build user-friendly tooling to enhance developer experience across languages.

Benefits

  • Opportunity to work on open-source programming language implementations.
  • Collaboration in small, close-knit teams.
  • Engagement in both back-end optimization and language design.
Full Job Description
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 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.
  • 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.

Similar Jobs

More Jobs at Jane Street

More Information Technology Jobs

Find similar Programming Language Engineer jobs: