This is a Full-Time Hybrid-Remote role in Niles, IL supporting a Sound/Audio Engineering Firm. Full benefits, PTO, and paid holidays are inclusive to this position.
· On-Site in Niles, IL requirements for the first 30-60 days for training then will transition to being a fully Remote role.
- 2 Positions- Senior Full Stack Middleware Developer (Strong Expertise with Embedded Systems/Communication Middleware---also Angular & Typescript)
Salary Target: $130K-$170K/YR (Salary is flexible based on the relevant professional experience and background related to the position)
Requirements: United States Citizen or Work Authorization Status; Completed Bachelor’s Degree
As the Senior Full Stack Developer, 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-platform desktop (Windows, macOS, Linux), mobile, browser-based, cloud, and embedded. Advance the evolution of 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).