Overview
Come change the future of audio!
We are on the search for a Senior Full Stack Developer! In this role, you will design, code, test, debug, and document device communication middleware solutions for monitoring and controlling the devices we manufacture. Affect change in applications deployed in various environments, such as cross-platformdesktop (Windows, macOS, Linux), mobile, browser-based, cloud, and embedded. Advance the evolutionof our software architecture to improve code reuse in the above environments, write high performance code where milliseconds matter, and increase maintainability. Collaborate with other developers to enhance, modify and maintain the numerous applications consuming the device communication middleware, as well as with business partners to define requirements for application behaviors from user interfaces to embedded device behavior.
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
Optimizes performance of middleware solutions and implements security measures.
Estimates, organizes, sequence, and break down work to develop features from an idea to
functioning software.
Communicates effectively with various stakeholders across technology and the business
As needed, extends, modifies, enhances, or maintains GUI application software solutions written in Angular, TypeScript, HTML, and CSS.
Qualifications
Bachelor’s degree in Computer Science or related field
Minimum of 5 years of experience
Proven experience as Node.js backend developer with a strong focus on TypeScript
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.
Proficiency in designing and documenting Web-based APIs for asynchronous systems
Demonstrates problem-solving skills and ability to troubleshoot complex issues.
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, such as separation of concerns, cohesion vs coupling, SOLID
- Continuous integration, testing, and deployment
- Unit and Integration Testing
Experience with software version control systems, preferably with git.
Software development experience with the following technologies are strongly preferred:
- Authoring and consuming RESTful and/or GraphQL APIs
- Distributed Systems
- Domain experience with audio products, or wireless radio products
Software development experience with the following technologies are a plus:
- Embedded Device Development
- C++, with an OO or functional approach
- Web-based UIs written with single page app frameworks (Angular, React, Vue.js, etc)
- Experience developing software in a serverless cloud environment (AWS preferable)
- Experience with software development tools (IDEs).