
Compiler Engineer – Synchronous Programming
JuliaHub
full-time
Posted on:
Location Type: Remote
Location: United States
Visit company websiteExplore more
About the role
- Collaborate with language designers to define the precise semantics of Dyad's synchronous constructs, including clock definitions, data-flow dependencies, state machines, and execution semantics.
- Build the compiler front-end and middle-end infrastructure in Julia for Dyad's synchronous programming constructs.
- Implement robust clock inference and checking to ensure safe and deterministic data-flow execution.
- Develop optimized code generation backends targeting real-time, deterministic execution.
- Ensure seamless integration between the continuous-time (ODE/DAE) equation solving and the discrete-time synchronous partitions of the Dyad language.
- Work closely with domain and modeling experts to refine the semantics and syntax of Dyad's synchronous features.
Requirements
- Practical background in compiler construction (parsing, type checking, intermediate representations, and code transformations).
- Familiarity with the semantics of synchronous programming languages (e.g., Lustre, SCADE, Zélus, Heptagon) or clocked features in modeling languages (e.g., Modelica.Clocked).
- A Master’s degree or Ph.D. in Computer Science, Software Engineering, or a related field, particularly with a focus on formal methods, compiler design, or cyber-physical systems.
- Strong programming skills in Julia, which is the primary language used for our compiler implementation.
- A strong, genuine interest in physical modeling, simulation, and cyber-physical systems.
- Familiarity with the Julia SciML ecosystem, specifically ModelingToolkit.jl.
- Experience with languages like Modelica, gPROMS, or Simscape.
- Background in formal verification or safety-critical software generation.
Benefits
- Remote, European / US Eastern time zones
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
compiler constructionparsingtype checkingintermediate representationscode transformationsprogramming in Juliaclock inferencecode generationformal verificationsafety-critical software generation
Soft Skills
collaborationinterest in physical modelinginterest in simulationinterest in cyber-physical systems
Certifications
Master’s degreePh.D. in Computer SciencePh.D. in Software EngineeringPh.D. in related field