Job Openings Principal Software Engineer, Systems

About the job Principal Software Engineer, Systems

We are seeking a motivated and innovative Senior Systems Software Engineer to join our clients Runtime team. In this role, you will shape the future of our clients production kernel, user-mode drivers, APIs, and supporting toolchains. Your expertise will drive the design and implementation of scalable and reliable solutions, influencing the way our clients accelerator technology is utilized by users. This is an exciting opportunity to tackle complex technical challenges, develop software that interfaces with cutting-edge hardware, and collaborate with a multidisciplinary team of engineers.

Key Responsibilities:

  • Architect, develop, and optimize kernel and user-mode drivers, APIs, and related toolchains.
  • Design, implement, and verify software interactions with hardware, ensuring high performance and reliability.
  • Collaborate with hardware and software engineering teams to develop integrated solutions.
  • Identify and resolve functional and performance bottlenecks to enable scalable systems.
  • Lead development efforts independently, from defining project scope to implementation and delivery.

Qualifications:

  • Bachelors degree in Computer Science, Computer Engineering, or a related field.
  • At least 5 years of experience in software engineering or a related role.
  • Proficiency in C programming with familiarity in C++.
  • Strong background in software design, debugging, and performance optimization.
  • Deep understanding of system-level architecture, including interconnects, memory hierarchy, PCI Express, DMA, and memory-mapped I/O.
  • Hands-on experience with Linux driver or kernel development.
  • Track record of contributing to medium or large-scale projects, including source control (e.g., Git), bug tracking, and code versioning.

Preferred Qualifications:

  • Masters or PhD in Computer Science, Computer Engineering, or a related field.
  • Experience with Python and integrating C/C++ libraries using tools like Cython.
  • Strong focus on software quality and testing best practices.
  • Skilled in designing APIs for diverse user groups, both internal and external.
  • Versatility in various programming languages and development methodologies.
  • Proven ability to build projects from scratch and thrive in dynamic, fast-paced environments.
  • Self-motivated and driven with a passion for delivering impactful software solutions.

Apply to craft innovative software that powers next-generation technology!