We are looking for a skilled C++ Software Engineer to join our team in Rochester Hills, Michigan. In this role, you will design, develop, and maintain software solutions while ensuring high-quality performance and functionality. This position offers the opportunity to work on complex projects and collaborate with cross-functional teams to achieve innovative results.<br><br>Responsibilities:<br>• Design and implement new software modules, databases, and system components, ensuring optimal functionality and performance.<br>• Maintain and enhance existing software systems by diagnosing issues and applying effective solutions.<br>• Prepare comprehensive design documentation, including diagrams, flowcharts, and detailed descriptions of data structures.<br>• Collaborate with team members and other departments to coordinate project milestones and ensure alignment with objectives.<br>• Develop and execute test plans, routines, and datasets for thorough unit and integration testing.<br>• Conduct automated unit testing and integration testing, supporting the validation of software systems.<br>• Provide regular updates and progress reports to engineering management, highlighting achievements and addressing challenges.<br>• Stay current with industry trends and apply innovative thinking to improve processes and solutions.<br>• Design and develop applications and services for efficient data transfer using various protocols.
We are seeking a Project Engineer to lead development efforts for diagnostic solutions across PC, Mobile, and Embedded platforms in the Heavy Duty Vehicle Diagnostics domain. This role blends hands-on technical expertise with project leadership, ensuring delivery of secure, high-quality, and compliant products. You will collaborate with cross-functional teams to define requirements, integrate systems, and deliver solutions that meet the evolving needs of our customers and industry standards.<br><br><br>Responsibilities:<br><br>Lead projects spanning PC applications, mobile apps, and embedded platforms for heavy-duty diagnostics products.<br>Define system architecture, requirements, and integration strategies across software and hardware platforms.<br>Drive development and validation of diagnostic protocols (e.g., CAN/J1939, ISO 15765-2, J1708/J1587, UDS, ISO 22900).<br>Ensure compliance of drivers with Industry Standard (RP1210/RP1227, J2534).<br>Ensure compliance with cybersecurity, safety, and regulatory requirements.<br>Work closely with OEMs, Fleets, Suppliers, and internal engineering teams to deliver high-performing, secure diagnostic solutions.<br>Coordinate issue resolution during development, testing, and customer deployments.<br>Contribute to certification and compliance documentation.<br>Qualifications:<br><br>Bachelor’s or Master’s in Electrical Engineering, Computer Engineering, Computer Science, or related field.<br>5+ years of experience in embedded systems, diagnostics, or automotive/heavy-duty software development.<br>Strong technical expertise in:<br>Implementing API Drivers on PC and mobile platforms using (C/C++/.NET).<br>Vehicle communication protocols: CAN, CAN FD, ISO 15765-2, UDS, J1939, DoIP<br>Firmware development on VCI devices (e.g. devices with microcontrollers and CAN transceivers, UARTs and USB peripherals)<br>TCP/IP protocols and network stack, including secure communication (TLS, VPN, IPsec).<br>Working with low level drivers (e.g. USB, NDIS etc.) on PC, as well as working with SDK<br>A very good experience of working with various IDEs preferably<br>Visual Studio 2022<br>MCUXpresso<br>Have a good understanding of debugging firmware IoT devices<br>Have a good understanding of PC and Mobile (Android/iOS) application development with 3rd party API layer<br>Familiarity with Agile, CI/CD, and version control (Git).<br>Preferred Skills:<br><br>Linux experience on embedded systems<br>Hands-on experience with cybersecurity in embedded systems.<br>Wireless experience with Wi-Fi, Bluetooth SPP, and Bluetooth Low Energy.<br>Experience with containerized applications on embedded systems (Docker, Podman).