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
Skip


Refer a friend for this role and earn
25 USD
Use the share options below Learn More
Refer a friend for this role and earn 25 USD
Don’t forget to share your referral URL
Up to 450 USD/Hour
450 USD
Up to 450 K/Year USD (Annual salary)
Longterm (Duration)
Fully Remote
Marcin K