Embedded Software Engineer – Windows Device Driver Engineer FB-5291

Software/Firmware Engineering Edinburgh, Scotland

At Cirrus Logic, mixed-signal engineering drives our company. We develop high-performance, low-power signal processing solutions in audio, voice and haptics, delivering innovative end-user experiences and solving difficult challenges for new generations of mobile and consumer devices. While breaking the innovation barrier, weÕve also built an award-winning company culture, thanks to our extraordinary workforce and our ongoing efforts to champion and promote diversity, as well as our principles of equality and fairness in the workplace. Do you enjoy working alongside the industry's top engineers and solving sophisticated challenges for the world's top consumer brands? Join our team and help us continue to make this an exceptional place to work!

We are hiring a Windows device driver engineer to join our multi-site team to contribute to quality development of leading audio and haptics applications. You will be a proactive team member keen to seek real life solutions and improve your learning in the audio applications space that serves electronics companies globally! You will collaborate with a dynamic applications team to deliver robust, scalable, and reliable software that meets critical design objectives.

Responsibilities

  • Design, build, and maintain efficient, reusable, and reliable Windows device drivers and documentation for new Cirrus Logic devices
  • Bring-up and debug first silicon on platforms in Windows environments
  • Develop and integrate Windows drivers in a regulated product development process
  • Collaborate with other teams such as Design, Firmware, SQA, and Tools
  • Work closely with Applications and Field teams to support customer engagements
  • Perform defect tracking and peer code reviews

Required Skills and Qualifications

  • The position requires an ability to communicate clearly with both developers and customers. You will develop an understanding of both hardware features and customer requirements in order to deliver high quality solutions to customers.
  • BSc/MSc in Computer Science or equivalent degree
  • C and C++ programming
  • Working knowledge of OS architecture including race conditions, synchronization, deadlocks, and interrupt management
  • Highly dynamic, results-oriented, and self-motivated personality able to work in a small team
  • Excellent written and verbal interpersonal skills

Preferred Skills and Qualifications

  • Experience with embedded devices and environments
  • Experience with scripting languages such as Python and shell
  • Familiarity with serial buses and protocols (e.g., I2C, SPI, I2S, SoundWire)
  • Familiarity with version control systems like Git
  • Incorporate strong troubleshooting skills using software (automated tests, debuggers), hardware (logic analyzers, oscilloscopes, DMMs), and other resources (schematics and datasheets)
  • Knowledge of PC Audio

At Cirrus Logic, we believe that diversity drives innovation and we are committed to encouraging an open and collaborative culture where different approaches, ideas and points of view are respected and valued. Our aim is to promote a workplace where everyone can contribute irrespective of race, colour, national origin, religion or belief, gender or gender identity, sexual orientation, age, marital status, pregnancy status or disability.