Enable job alerts via email!

Principal, Systems Software Engineer - Runtime

HRB

Canada

Remote

CAD 80,000 - 120,000

Full time

Yesterday
Be an early applicant

Boost your interview chances

Create a job specific, tailored resume for higher success rate.

Job summary

An innovative company is seeking a Senior Systems Software Engineer to join their Runtime team. This role involves architecting and implementing key aspects of production kernels and user-mode drivers, while collaborating closely with hardware engineers. You'll tackle exciting challenges in software design and performance analysis, contributing to the future direction of system software. Ideal candidates will have a strong background in C programming and Linux development, with a relentless focus on software quality. If you're driven and passionate about creating scalable solutions, this opportunity is perfect for you.

Qualifications

  • 5+ years of software engineering experience with strong C programming skills.
  • Experience with Linux kernel development and system-level architecture.

Responsibilities

  • Design and develop software that interacts with hardware components.
  • Identify and alleviate performance bottlenecks in system software.

Skills

C Programming
C++
Software Design
Debugging
Performance Analysis
Linux Driver Development
System Level Architecture
Source Control (Git)

Education

Degree in Computer Science
Masters or PhD in Computer Science

Tools

Linux
Cython

Job description

We are looking for a highly motivated and creative Senior Systems Software engineer to join our Runtime team. You will evangelize, architect, and implement key aspects of our production kernel and user-mode drivers, their APIs, and the corresponding toolchain. You will craft elegant solutions to exciting problems and form the future direction of our system software, and how our accelerator will be used by our users. You will design, develop and verify software that interacts with our chip; collaborating with hardware engineers and fellow software engineers in the process. You are able to identify functional/performance bottlenecks and alleviate them in order to achieve scalable and reliable software. You should demonstrate the ability to excel in an environment with complex software and hardware designs.

Requirements
    • Degree in Computer Science, Computer Engineering or a related discipline
    • Minimum 5 years of software engineering or related work experience
    • Excellent C programming skills and familiarity with C++
    • Strong experience in software design, debugging, and performance analysis
    • A deep understanding of system level architecture, such as interconnects, memory hierarchy, PCI Express, DMA, and memory-mapped IO
    • Experience with Linux driver or Linux Kernel development
    • Ability to work independently, define project goals and scope, and lead your own development efforts
    • Experience contributing to a reasonably large open/closed source project - use of source-control (e.g. git), bug tracking, branching and merging code
Preferred Skills & Experience
    • Masters or PhD in Computer Science, Computer Engineering or a related discipline
    • Experience with Python and using C/C++ libraries from Python (e.g. using Cython)
    • Relentless focus on software quality and testing
    • Experience architecting low and high level APIs for internal and external users
    • Proficient in a variety of development styles and programming languages
    • Able to build projects from the ground up
    • Comfortable working within a rapidly evolving project
    • Driven and self-directed
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.

Similar jobs

Principal Software Engineer - Runtime

HRB

Remote

CAD 90,000 - 150,000

Today
Be an early applicant

Principal, Systems Software Engineer - Runtime

Untether AI

Kitchener

Remote

CAD 80,000 - 150,000

30+ days ago