Skip to content

Senior Principal Compiler Engineer

    • Markham, Ontario
  • ddf4s

Job description

Our team has an immediate permanent opening for a Senior Principal Compiler Engineer.
Responsibilities:

  • Design, develop, and test software to satisfy business requirements in a wide range of products.
  • Analyze and optimize software system performance, and assist with software/hardware co-design.
  • Liaise with internal and external stakeholders, determine project and feature requirements, and create development plans for software productization.
  • Provide leadership in scrums, reviews, and project planning; engage in team building.
  • Mentor junior developers through education sessions, code reviews, and career development.
  • Research industry trends and paradigms, and propose new technical directions for the team.

Job requirements

What you’ll bring to the team:

  • 8+ years of experience programming in large software projects with at least one of the following: C++, C, or Java.
  • Satisfy at least two of the following:
    • Development or research experience in a production compiler (preferably LLVM/Clang-based).
    • Development or research experience in a production language runtime (preferably JVM-related), and/or design and implementation of a major programming language.
    • Development or research experience with deep learning frameworks and related ecosystem, such as TensorFlow, Caffe2, MXNet, ONNX, TVM.
    • Development or research of GPU drivers, such as Vulkan, OpenGL, DirectX, or CUDA/OpenCL.
    • Development or research experience with hardware accelerators such as GPUs, NPUs, or FPGAs.
  • Solid grasp of fundamental concepts related to system design, such as data structures, algorithms, and operating systems.
  • In-depth understanding of computer processor architecture.
  • Proficiency with software development tools and concepts such as source control, bug tracking, etc.
  • Bachelor's, Master's degree or Ph.D (an asset). in Computer Science, Computer Engineering, or related field.
  • The following items would be an asset: Deep understanding of IR and machine level compiler optimization techniques; experience in systems programming; proficiency in higher-level programming languages e.g. Go, Python; or an understanding of the implementation of higher-level programming languages.

or