JuliaHub

Compiler Engineer – Synchronous Programming

JuliaHub

full-time

Posted on:

Location Type: Remote

Location: United States

Visit company website

Explore more

AI Apply
Apply

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