As a software engineer within the R&D team, you will contribute to the development of some of the very best audio products by designing and implementing embedded software. Working in an Agile development environment you will collaborate with other software engineers, hardware engineers and R&D test engineers. Being passionate about software development and an understanding of embedded firmware design, electronics, prototype development and debugging is essential.
Main Duties and Responsibilities
• Collaborate with the Software Development Team, Electronic Engineering Team and R&D Test Team to create world-class audio products.
• Develop embedded software written mainly in C and sometimes C++.
• Work with existing products to fix issues and add new functionality.
• Produce clear, documented code and engage in peer code review.
• Working with the Electronics design team, write firmware to assist hardware bring-up and debugging of new designs.
• Provide software support for the transition of products from R&D to mass production.
Education and Experience:
• Degree qualified (2.1 minimum) in Electronic Engineering, Computer Science or similar engineering related discipline.
• Demonstrable competency in one or more technical areas.
• Experience developing software for embedded products.
• A proven track record of shipping reliable and maintainable software.
• C embedded programming skills, preferably on ARM based processors.
• Familiarity with electronics debugging tools and techniques.
• Experience with designing, implementing and debugging low level drivers.
Other Required Skills:
• Proactive approach to documentation and collaborative development.
• Familiarity with modern software development tools and techniques (Git, Jira, Agile)
• Well organised and able to work to tight deadlines
• Strong written and spoken communication skills in English.
• Strong cross-discipline problem solving and analytical skills.
• Experience with operating systems such as Linux and FreeRTOS.
• DSP and audio algorithm knowledge.
• Continuous integration and delivery infrastructure such as Jenkins and Amazon Web Services.
• Experience of implementing on-product user interfaces.
• Knowledge of networking technologies and audio streaming principles.
• Knowledge of common audio-visual interfaces such as SPDIF and HDMI.
• Unit testing and Test Driven Development.
• Automated testing of embedded systems.
• Experience in the consumer electronics industry.