Software Engineer SM-5157
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 looking for a hardworking Software Engineer to join us at Cirrus Logic. The successful individual will have the opportunity to work on ground breaking technology in an environment where you will gain skills working alongside global professionals. This role focuses on the specification, design, implementation and testing of innovative software features, impacting projects across the globe. Our talent is vital to our success and you will work and develop with some of the best engineers in the industry. In return, we offer an open, collaborative culture enabling you to drive developments, impacting the ground-breaking consumer technology industry on a global basis! Our outstanding benefits include continued and flexible career development, along with much, much more!
- Responsible and accountable for successful design and productisation of sophisticated software components within the Cirrus system solution portfolio
- Contribute significantly to business planning of a specific product area and/or technology function
- Meaningful contribution to software product definition, prototype evaluation, test development and product release
- Meaningful contribution to IC and system solution product definition
- Supervise project implementations and supervise and be accountable for the technical content of more junior engineers
- Provide application notes, technical notes and user documentation to the internal or external customer to support the design or design-in process.
- Mentors/Coaches others
- Develop new tools, development techniques, architectures, concepts and methods independent from existing practices
- Define, review and update software applications processes and tools to streamline development and incorporate current industry best practices as appropriate to Cirrus.
- Champion design-for-software techniques and practices across the development community
- Collaborate with members of the development community (including design, NPA, evaluation, test, applications, etc) to ensure Cirrus ICs are designed to work well with customer software, which will improve ease of design-in and customer time-to-market and competitiveness.
- Provide software engineering consultancy to design, evaluation and applications engineers, to support improved design, evaluation and applications methodologies and tools
- Train, mentor and coach staff in best-practice Software Engineering practices.
- Communication/present to internal/external audiences
Required Skills and Qualifications
- Degree or equivalent in software engineering or other engineering related subject area
- Excellent programming skills, preferably in C/C++
- Strong diagnostic and analytical skills and excellent cognitive abilities, combined with a logical approach to problem solving.
- An innovative, creative, lateral thinking problem solver
- Excellent attention to detail
- Strong quality ethic, experienced in software methodology such as revision control, code reviews and unit testing
- Good numerical ability
- Ability to plan and handle workload and that of others
- Ability to generate design tasks for others
- Able to work to tight and variable timescales
- Extensive experience in relevant software development
- Extensive knowledge of relevant design techniques for software products
- Demonstrate initiative and deal with constantly evolving priorities and results-oriented demands.
- Excellent mentoring and coaching skills
- Extensive experience and expertise in the following areas; Embedded firmware development or Operating systems development, Linux, Windows, Windows Mobile/Windows CE
- Asynchronous design and development (multi-threaded / multi-process / distributed)
- Software/hardware interfaces
- Strong ability to debug system problems involving software, firmware and hardware e.g. use of oscilloscope, logic analysers etc.
Preferred Skills and Qualifications
- Low power design techniques
- Assembly language debug
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.