Overview We are recruiting for talented Embedded Software Engineersin our Product Development Division at different levels who will focus on the audio networking aspects of our products. As a growing team, we will consider engineers of various experience levels who are ready to change the future of audio! May assist with the development of lower-level Engineers. Responsibilities
Design, develop and test software for embedded based products with focus on standard audio networking protocols for managing Shure devices and supporting system functionality.
Integration and implementation of audio network protocols such as VoIP, RTP, RTSP, RTCP, SIP, SDP, SAP, AES67, PTP.
Integration and implementation of security protocols such as SRTP, TLS, HTTPS, 802.1X.
Integration of codecs such as Opus, G.711, G.722.
Support the software of Shure products and customer with respect to networking in LAN, WLAN, WAN and VLAN environments.
Specify embedded software components for use in Shure systems especially in the areas of networking.
Work as part of a cross-functional development team to design and implement cutting edge audio products and technologies.
Estimate, organize, and document tasks.
Practice established software development methodologies and principles focusing on separation of concerns, reusability, maintainability, minimized complexity, high cohesion and low coupling.
Model designs using UML and related methods develop use cases to model real-time systems behavior.
Review the design and code developed by peer engineers.
More senior engineers will mentor junior and entry-level staff members.
Other duties as assigned.
Qualifications
Bachelor’s degree in Computer Science, Electrical Engineering, Computer Electrical Engineering or related field.
Minimum of 3 to 10 years of experience.
Uses skills as a seasoned, experienced professional in embedded firmware development using C++ with a demonstrated understanding of object-oriented design, analysis, and programming.
Demonstrated understanding of software design, analysis and programming using C++ and/or C.
Experience developing software networking protocols utilizing TCP/UDP/IP and related protocols.
Minimum 5 years’ experience with VoIP and related protocols such as RTP, RTCP, SDP, etc.
Working knowledge of IT/Enterprise protocols such as 802.1x, LDAP/AD, SSO, DNS, VoIP and their underlying technologies is a plus.
Experience in network security and protocols and network management protocols a plus.
Working knowledge of IoT cloud platforms such as AWS, Azure, Google is a plus.
Knowledge of and minimum 1-2 years’ experience integrating networking protocols such as Ethernet, USB and 802.11, IP, TCP/UDP, DHCP into platform independent application software in PC Windows/Linux and/or Mac OS X environments.
Demonstrated ability in supporting customers and/or internal teams supporting software under customer usage scenarios.
Demonstrated competency with embedded software development tools and environment and real-time embedded operating systems (RTOS).
Demonstrated understanding of embedded system architectures.
Experience solving problems following SOLID and OO design principles.
Firm understanding and proven history of application 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.
Demonstrated expertise with debugging using protocol analyzers, Wireshark, etc.
Experience with software version control and release.
Demonstrated attention to detail and ability to analyze complex interdependent variables.
Demonstrated verbal and written communication skills.
Ability to work effectively within a team environment and lead junior engineers.
Quality consciousness.
Demonstrates good judgment in selecting methods and techniques for obtaining solutions for difficult assignments and of diverse scope.