Embedded Software Engineer (JM)
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+11 more
Job description
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., * 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
Requirements
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., * 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, * 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
Export control restrictions based upon applicable laws and regulations would prohibit candidates who are nationals of certain embargoed countries from working in this position without Cirrus Logic first obtaining an export license. Candidates for this role must be able to access technical data without a requirement for an export license. We are unable to sponsor or obtain export licenses for this role.
About the company
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!
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on indeed.comGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Fully Remote Software Engineer Jobs
Is Software Engineering Hard?
Where To Find Software Engineering Jobs
Is Software Engineering Over-Saturated?