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 softwareCollaborate with firmware, hardware, and applications teams to define and integrate new devices and featuresInvestigate and resolve complex issues across software and hardware boundaries using tools such as debuggers, logic analyzers, oscilloscopesParticipate in architecture reviews, code reviews, and continuous improvement initiativesWrite and maintain clear, detailed technical documentationSupport 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 field2+ years of experience in embedded or systems-level software developmentProficiency in C and familiarity with Visual Studio or similar development environmentsStrong understanding of OS architecture concepts: synchronization, interrupts, race conditions, and memory managementExperience developing or maintaining kernel-mode or low-level driversFamiliarity with serial buses and protocols such as I2C, SPI, I2S, HDA, or SoundWireStrong debugging and problem-solving skills using both software tools and hardware instrumentsExcellent communication and collaboration skills across multidisciplinary teams
Preferred Skills and Qualifications
Experience with Windows Driver Framework (WDF/KMDF) or equivalent kernel driver modelUnderstanding of PC architectures, chipsets, and board-level bring-upExperience with Gerrit-based workflows and CI/CD systems (Jenkins, SonarQube)Familiarity with static analysis and code quality toolsKnowledge of C++, Python, or scripting for automation and test developmentFamiliarity with test-driven development