Our Client, a leading provider of streaming media, is seeking a C++ Middleware Developer. The successful candidate will apply their experience in Middleware Software development for embedded systems to expand our software framework used to build automotive and aftermarket products. This individual will be a key member of the team responsible for design, documentation, implementation, and validation of software components used by multiple internal and external customers to launch exciting new satellite radio audio and data services and advanced telematics features. The ideal candidate will be a self-starter who can work both independently and within a team environment. What you’ll do: The Software Engineer will be primarily responsible for the development and execution of software for Satellite Radio systems. Typical duties of the Software Engineer will include: Assist in the development of advanced architectures and platforms for next generation software to control Satellite audio, data services and advance telematics features. Assist in the development of user interface software specifications and software for Radio receiver products. Assist in the development of advanced Infotainment and Telematics features for Radio receiver products. Collaborate with receiver manufacturer partners to resolve outstanding user interface software issues during the product development process Support the full software development lifecycle from initial feature definition through software release and in-field customer support. Participate and support the design and development of software for the next generation software platform to enable Satellite and Streaming Audio, and Data Services and next generation Telematics features. Understand the features integrated into our software products from several brands. Perform analysis of internal and third-party product requirements and specifications, understanding of software framework architectures and designs to meet internal and external customer needs. Participate in reviews sessions for new user interfaces, features and software implementation designs with the software team and other stakeholders. Author software application notes, programming manuals, and training materials for distribution and presentation to partners. Author software components, insuring they meet functional and quality requirements. Utilize best practices in implementing software deliverables. Understand all aspects of the software development lifecycle and apply data analytics to quantify and provide insight to process improvements. Perform special projects, lab/field testing, and other duties as necessary. What you’ll need: S Engineering or SW Engineering or equivalent experience required. MS Engineering is desired. 5-7 or more years expertise in software, development for embedded consumer or automotive products. Expert in C/C++, specifically working with Middleware Development Experience with C#, Java, HTTP, JSON, QT, Flutter, RUST Experience with advanced software development environments (IDE, compilers, operating systems, source management tools, CI/CD, and test tools). Familiarity with embedded, real-time software with the ability to clearly articulate complex system requirements, and design considerations. Experience in one or more of the following areas: Satellite receivers Consumer or Automotive audio and infotainment products (radio head units, navigation systems, MP3 connectivity, CD players, telematics systems, etc.) Digital communications Client/server communications (e.g. PC/device) protocols BLE, WiFi, CAN, LIN, or Ethernet. familiarity with AUTOSTAR standards and methodology. Internet Protocol products and technology IPC Mechanisms – Sockets, Message Queues, Shared Memory, etc. Communication security threat identification and prevention as applicable to automotive clients using SELinux, QNX or AAOS. Comfortable working in matrix environment, coordinating activities of multiple teams in multiple sites not under line management control Good public speaking and presentation skills. Interpersonal skills and ability to interact and work with staff at all levels. Excellent written and verbal communication skills. Ability to work independently and in a team environment. Ability to pay attention to details and be organized. Ability to project professionalism over the phone and in person. Ability to handle multiple tasks in a fast-paced environment.