About Us:
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 Candidate:
The 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.
Candidates with a proven track record of contributing to open-source compiler projects will be given priority. If you have a GitHub profile showcasing relevant work, including compiler implementations, language transformations, or optimizations, we encourage you to include it in your application.
Job Description:
We 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.
In this role, you will:
* 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.
Responsibilities:
* 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.
Required Qualifications:
* 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.
Preferred Qualifications:
* 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.
What We Offer:
* 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!