loader image

Senior Type-System Engineer

What You'll Do As a senior type-system engineer, you'll be working on the design and development of our new type-system, in conjunction with the rest of the compiler team, to help support the language's evolution. This will involve:



  • Determining and formalising the theoretical underpinnings of the new type system in a way as to ensure its soundness.


  • Both theoretical and practical treatments of the theory behind our type system.


  • Working with the broader compiler team to implement the type-checking and type-inference engines as part of the greater interpreter.


  • Using the type-system's information to improve the interpreter's functionality and performance, as well as how it interacts with the users.



The Skills We're Looking For We have a few particular skills that we're looking for in this role:



  • Practical and rich experience writing code in a functional programming language such as Haskell or Scala, including experience with type-level programming techniques (3+ years).


  • Experience working with the theory behind powerful type systems, including row types, type-checking and type-inference algorithms, and dependently-typed systems.


  • Practical experience building real-world type-systems, including facilities for both type-checking and inference.


  • An awareness of the UX impacts of type-systems, and a willingness to minimise their often-intrusive nature.


  • Practical experience in building large and complex software systems.



It would be a big bonus if you had:



  • Experience writing Java and Scala code, as these will be used to implement the type-system.


  • Experience in writing comprehensive regression tests for both type-inference and type-checking systems.



Position

Backend Developer


Must have Skills

  • Scala

    Beginner

  • Haskell

    Beginner

Client Payroll

Up to 450 K/Year USD (Annual salary)

Fully Remote

Cancel
Cancel

Active

Skip

Senior Type-System Engineer

What You'll Do As a senior type-system engineer, you'll be working on the design and development of our new type-system, in conjunction with the rest of the compiler team, to help support the language's evolution. This will involve:



  • Determining and formalising the theoretical underpinnings of the new type system in a way as to ensure its soundness.


  • Both theoretical and practical treatments of the theory behind our type system.


  • Working with the broader compiler team to implement the type-checking and type-inference engines as part of the greater interpreter.


  • Using the type-system's information to improve the interpreter's functionality and performance, as well as how it interacts with the users.



The Skills We're Looking For We have a few particular skills that we're looking for in this role:



  • Practical and rich experience writing code in a functional programming language such as Haskell or Scala, including experience with type-level programming techniques (3+ years).


  • Experience working with the theory behind powerful type systems, including row types, type-checking and type-inference algorithms, and dependently-typed systems.


  • Practical experience building real-world type-systems, including facilities for both type-checking and inference.


  • An awareness of the UX impacts of type-systems, and a willingness to minimise their often-intrusive nature.


  • Practical experience in building large and complex software systems.



It would be a big bonus if you had:



  • Experience writing Java and Scala code, as these will be used to implement the type-system.


  • Experience in writing comprehensive regression tests for both type-inference and type-checking systems.



Job Type

Client Payroll


Positions

Backend Developer


Must have Skills

  • Scala

    Beginner

  • Haskell

    Beginner

Up to 450 K/Year USD (Annual salary)

Longterm (Duration)

Fully Remote

Skip

Marcin K

| United States