For more than 95 years, Shure has been one of the leading suppliers of professional audio technology. Our products are the first choice whenever audio performance is a top priority. Shure Incorporated is presented through a global partner network in more than 80 countries, with offices in Europe, Middle East and Asia.
Shure Edinburgh has an exciting opportunity to join its successful team of firmware engineers developing top of the range Conferencing Solutions
Engineer Senior, Application Software Development
Are you an engineer with a proven track record of designing, implementing and testing high quality firmware products using C and C++ across a range of operating systems? Do you possess an understanding of key software design principles such as separation of concerns, high cohesion and low coupling to facilitate reuse and maintainability? Can you ensure on time & quality delivery of committed deliverables?
Would you like to work in an environment of innovation and technical excellence, a place where you will need to work both independently and as part of a team, whether local or geographically separated. You will help to develop professional audio products, both wired and wireless.
The role will focus on designing, creating and testing high quality code. There will be opportunities to help other engineers develop through coaching and mentoring.
Collaborates with marketing, software verification and system engineering to define platform independent application software use cases and requirements.
Focused on designing, creating and testing high quality code.
Estimates, organizes, and documents tasks under supervision of mentors.
Performs other duties as assigned.
Bachelor's degree in Computer Science, Electrical Engineering or related field.
Minimum of 4 years of firmware development experience with C/C++ (OOD)
Experience of the full product life cycle.
Experience with multi-threaded applications within a range of operating systems (Linux required, Windows, MacOS and VxWorks desirable).
Possess 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;
Ability to decompose large, complex software systems into manageable subsystems with clearly defined interfaces
Strong debugging and problem solving skills.
Familiar with writing unit tests to ensure high quality code.
Able to apply company policies and procedures to resolve routine issues, as well as to follow standard instructions, practices and procedures in analyzing situations or data.
Desirable skills and experience
Writing test scripts using Python
Networking experience (TCP/IP)
Audio over Ethernet (Dante).
Wireless experience (Wi-Fi, Bluetooth)
Agile development methodologies (SAFe)
Source control (SVN, Git, Bitbucket)
A challenging in an international working environment with tremendous potential for future growth. It also goes without saying that we offer an attractive salary as well as comprehensive benefits.