Embedded Software Engineer 5941
Due to extensive growth within our Software organisation we are looking for a Senior Embedded Software Engineer to join us here at Cirrus Logic. The successful individual will have the opportunity to work on ground breaking technology in an environment where you can gain new skills working alongside global experts. This role focuses on the specification, design, implementation and testing of new innovative software features, impacting multiple projects across the globe.
- Responsible and accountable for the successful design and productisation of complex software components within the overall Cirrus system solution portfolio.
- Contribute to driving new ideas, creating IP, methodologies and techniques to improve existing software algorithms and solutions.
- Providing input to the DSP SW roadmap, working with product definition teams to create leading-edge and differentiated feature-sets.
- Developing algorithms and porting them to fixed point C for embedded devices.
- Simulating, characterizing and optimising algorithms to prove that they meet goals, and map to the constraints of custom hardware or DSP cores.
- Designing test harnesses, lab setups and collection of real-world data to prove the capabilities and limitations of experimental algorithms.
- Communication/present to internal/external audiences.
- Provide application notes, technical notes and user documentation to the internal or external customer to support the design or design-in process.
Required Skills and Qualifications
- Degree (1st or 2.1) or equivalent, in Electronics, Embedded Software, Signal Processing or other engineering related field
- Excellent programming skills, preferably in C/C++.
- Strong diagnostic and analytical skills and excellent cognitive abilities, combined with a logical approach to problem solving.
- Experience of developing floating and fixed-point C code on embedded platform.
- An innovative, creative, lateral thinking problem solver
- Excellent attention to detail
- Strong quality ethic, experienced in software best practice such as revision control, code reviews and unit testing
- Good numerical ability
- Ability to plan and manage workload and that of others
- Ability to generate design tasks for others
- Able to work to tight and variable timescales
- Experience in several of the following: audio signal processing; filter design; spectral analysis; adaptive filter design.
- Experience with the use of tools such as MATLAB/Simulink.
Preferred Skills and Qualifications
- Experience in using python.
- Experience in Low power design techniques.
- Experience of Software/hardware interfaces.
- Knowledge of micro-speaker modelling and protection fundamentals
- Knowledge of asynchronous design and development (multi-threaded / multi-process / distributed)
- Ability to debug system problems involving software, firmware and hardware e.g. use of oscilloscope, logic analysers
Based in our Newbury office
This is a hybrid remote position and will follow a 2+ day in-office work schedule, with in-office days based on business needs and team preference. You must be based within commutable distance of the work location listed on the job posting, or willing to relocate prior to beginning employment with Cirrus Logic.
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.