Shure is looking to design, code, test, debug, and document device communication middleware solutions for monitoring and controlling the devices they manufacture, to improve code reuse, write high performance code, and increase maintainability.
Requirements
- Proven experience as Node.js backend developer with a strong focus on TypeScript
- Proficiency in designing and documenting Web-based APIs for asynchronous systems
- Understanding of operating system fundamentals, asynchronous programming, multi-threading, and reactive programming.
- Understanding of industry standard software development practices, such as Software Design Patterns and Principles, continuous integration, testing, and deployment
- Experience with software version control systems, preferably with git.
- Authoring and consuming RESTful and/or GraphQL APIs
- Distributed Systems
Responsibilities
- Design and implement platform-independent device communication middleware solutions that control and manage state-of-the-art audio products and networking technologies.
- Develop software using agile development methodologies on high-performing, cross functional development teams
- Collaborates with marketing, test and system engineering to define software use cases and requirements that drive end user value
- Implement device communication business logic in Node.js and C++
- Expose functionality to consuming applications via GraphQL and/or REST APIs
- Research, model and standardize device interaction capabilities across our broad product ecosystem, providing device-agnostic interfaces for client applications
- Advance the evolution of our software architecture
Other
- Bachelor’s degree in Computer Science or related field
- Minimum of 5 years of experience
- Works effectively in a remote-first-by-design software development culture that embraces hybrid work and/or travel opportunities to physical sites, based on project needs and team collaboration.
- Applicants for this position must be currently authorized to work in the United States on a full-time basis.
- Demonstrates problem-solving skills and ability to troubleshoot complex issues.