- +2
- +5
- England, United Kingdom
About
Harmonic Laboratories is a pioneering technology company at the forefront of blockchain and decentralized application (dApp) development. We specialize in building innovative solutions on the Cardano blockchain and beyond.
We are seeking a skilled Compiler Engineer to join our team and contribute to the design and development of an advanced compiler targeting a superset of lambda calculus.
Ideal CandidateThe ideal candidate is passionate about programming languages and compiler development. They are highly self-motivated, capable of working independently, and eager to take ownership of a project from design to implementation.
A strong background in both imperative and functional programming paradigms is essential, along with experience optimizing compilers for performance and correctness.
Job DescriptionWe are looking for a highly motivated and experienced Compiler Engineer with expertise in compiler optimizations, language design, and functional programming.
You will have primary decision-making power over the project and work mostly independently. While cooperation with other teams is expected, those teams will not be directly involved in compiler development.
Responsibilities:- Develop and optimize compilers.
- Contribute to open-source projects.
- Enhance the developer experience with cutting-edge compiler tooling.
- Be responsible for transforming high-level imperative constructs into a superset of lambda calculus, ensuring efficiency and correctness.
- Design, develop, and optimize a compiler frontend for an imperative programming language.
- Implement type checking and intermediate representations for efficient program transformation.
- Develop compilation techniques to lower imperative constructs into a superset of lambda calculus.
- Independently make key architectural and implementation decisions regarding the compiler.
- Collaborate with researchers and engineers to design and refine the language specification.
- Optimize code generation for performance, scalability, and correctness.
- Contribute to the development of tools and frameworks that improve compiler usability and debugging.
- Participate in code reviews, ensuring high-quality software engineering standards.
- Stay up to date with advancements in programming languages, compiler optimizations, and functional programming techniques.
- Troubleshoot and debug compilation issues, ensuring reliability and stability.
- Work with stakeholders to gather requirements and translate them into robust compiler features.
The following qualifications are required for this role:
- The compiler will be written in TypeScript, so a good understanding of JavaScript runtimes (V8, Bun, etc.) is strongly encouraged.
- Strong understanding of Computer Science and Software Engineering principles, especially in compiler design.
- Experience developing compilers, interpreters, or other language-processing tools.
- Proficiency in parsing, type systems, and intermediate representations.
- Expertise in imperative programming languages (e.g., C, Rust, or similar).
- Strong understanding of functional programming, lambda calculus, and program transformation techniques.
- Knowledge of program optimization techniques and static analysis.
- Strong problem-solving and analytical skills, with attention to detail.
- Excellent communication skills and ability to collaborate with cross-functional teams.
The following qualifications are preferred but not required:
- Experience contributing to open-source compiler projects.
- Familiarity with formal methods, proof assistants, or type theory.
- Knowledge of high-performance runtime systems and just-in-time (JIT) compilation.
- Hands-on experience with garbage collection strategies and memory management in compiled languages.
- Understanding of blockchain smart contract execution models and their computational constraints.
- Familiarity with category theory and abstract algebra in the context of programming languages.
- Opportunities to work on innovative compiler and programming language projects.
- Collaborative and inclusive work environment with a strong focus on professional growth.
- Flexible work hours – work whenever you feel like, as long as you complete the job.
- Access to the latest tools and technologies in compiler development.
- If you are passionate about programming languages, compilers, and innovative execution models, we would love to hear from you.
Nice-to-have skills
- TypeScript
- JavaScript
- C
- Rust
- Functional Programming
Work experience
- Blockchain
- Software Architect
Languages
- English