Cirrus Logic

Embedded Software Engineer (JM)

Cirrus Logic • US
PythonC++ Hybrid
For over four decades, Cirrus Logic has been propelled by the top engineers in mixed-signal processing. Our rockstar team thrives on solving complex challenges with innovative end-user solutions for the world's top consumer brands. Cirrus Logic is also known for its award-winning culture, which was built on a foundation of inclusion and fairness, meaningful community engagement, and delivering enjoyable employee experiences at every turn. But we couldn’t do it without our extraordinary workforce – and that’s where you come in. Join our team and help us continue to make Cirrus Logic an exceptional place to grow your career! 

Cirrus Logic is seeking a software engineer to join our team developing drivers that power advanced audio and haptics experiences in next-generation PCs.   In this role, you’ll be part of a collaborative team that works closely with hardware, firmware, and applications engineers to deliver high-performance, reliable Windows drivers that brings our cutting-edge technology to life.   You’ll work in a creative, hands-on environment that values curiosity, craftsmanship, and collaboration.

The ideal candidate enjoys solving complex system-level problems, collaborating across hardware and software teams, and continuously expanding their technical depth.  A background in Windows, Linux, or embedded driver development is preferred.

Responsibilities

  • Design, implement, and maintain Windows drivers, automated tests, and supporting system software
  • Collaborate with firmware, hardware, and applications teams to define and integrate new devices and features
  • Investigate and resolve complex issues across software and hardware boundaries using tools such as debuggers, logic analyzers, oscilloscopes
  • Participate in architecture reviews, code reviews, and continuous improvement initiatives
  • Write and maintain clear, detailed technical documentation
  • Support customer engagements and platform validation alongside applications and field teams
  • Required Skills and Qualifications

  • Bachelor’s or Master’s in Computer Science, Electrical Engineering, or related field
  • 2+ years of experience in embedded or systems-level software development
  • Proficiency in C and familiarity with Visual Studio or similar development environments
  • Strong understanding of OS architecture concepts: synchronization, interrupts, race conditions, and memory management
  • Experience developing or maintaining kernel-mode or low-level drivers
  • Familiarity with serial buses and protocols such as I2C, SPI, I2S, HDA, or SoundWire
  • Strong debugging and problem-solving skills using both software tools and hardware instruments
  • Excellent communication and collaboration skills across multidisciplinary teams
  • Preferred Skills and Qualifications

  • Experience with Windows Driver Framework (WDF/KMDF) or equivalent kernel driver model
  • Understanding of PC architectures, chipsets, and board-level bring-up
  • Experience with Gerrit-based workflows and CI/CD systems (Jenkins, SonarQube)
  • Familiarity with static analysis and code quality tools
  • Knowledge of C++, Python, or scripting for automation and test development
  • Familiarity with test-driven development