Embedded Software Engineer
Embedded Software Development Engineer
My client is one of the leading suppliers of professional audio technology, with a globally recognised brand and a diverse portfolio of high-quality products, spanning several markets. Their products are the first choice whenever audio performance is a top priority. The company has a global partner network in more than 80 countries, with offices in Europe, Middle East and Asia. The culture is geared around innovation, technical excellence and the mutual sharing of knowledge in which each and every engineer improves and develops. They have a medium-sized team of engineers based in Edinburgh that collaborates with other global teams on an array of exciting product development projects. As part of their continued growth, they're looking to bring on a new embedded software engineer, ultimately to design, create and test high-quality code for integration into their world-class products.
Working under the supervision of Engineering Manager and in collaboration with other engineers, this position assists with developing, and testing platform independent (Windows, OS X, Linux) applications software and the integration with wired and wireless communication protocol stacks and embedded firmware systems in professional audio products. The role also collaborates with other company divisions including Marketing to establish and review use cases and requirements, and software verification to define test plans.
The successful candidate will be a technically-minded engineer with a proven track record of designing, implementing and testing high quality firmware products using C and C++. They will be/have:
- Bachelor's degree in Computer Science, Electrical Engineering or related field.
- Minimum of 2 years of firmware development experience with C/C++ (OOD)
- Experience of the full product life cycle.
- An understanding of key software design principles such as separation of concerns, high cohesion and low coupling to facilitate reuse and maintainability in software architectures, designs and implementations;
- Strong debugging and problem solving skills.
- Familiar with writing unit tests to ensure high quality code.
- Effective communication skills (teleconference, on-line, and in-person).
- Writing test scripts using Python
- Networking experience (TCP/IP)
- Experience with multi-threaded applications within a range of operating systems (Linux, Windows, MacOS and VxWorks).
- Audio over Ethernet (Dante).
- Wireless experience (Wi-Fi, Bluetooth)
- Agile development methodologies (SAFe)
- Source control (SVN, Git, Bitbucket)
In return, you will receive a competitive base salary, great benefits package and the opportunity to work alongside a collaborative, supportive and close-knit team of talented, experienced engineers- from whom you can learn, develop and progress your career into more senior roles.