Embedded C++ Software EngineerWe are seeking a highly skilled Embedded C++ Software Engineer to join our team in Franksville, WI. This role involves designing and developing embedded software solutions for next-generation products. The ideal candidate will have strong expertise in C++ development for embedded systems, real-time operating systems (RTOS), multithreading, test-driven development (TDD), and secure coding practices.Key Responsibilities:Develop and optimize C++ software for embedded systems, ensuring efficiency, reliability, and scalability.Work with RTOS and implement multithreading and synchronization techniques.Follow Test-Driven Development (TDD) principles, including writing unit tests before handing off code to QA.Develop software with a strong focus on secure coding practices to protect embedded controls in the field.Collaborate with cross-functional teams, including hardware, firmware, and QA engineers.Participate in technical interviews, code reviews, and debugging sessions.Required Qualifications:Strong C++ experience in an embedded systems environment. Candidates with experience in C or MATLAB without true C++ exposure will not be considered.RTOS and multithreading expertise, including an understanding of operating systems, synchronization mechanisms, and resource management.Hands-on experience with unit testing in a fast-paced development environment.
Experience with Google Test or similar frameworks is preferred.Experience developing secure embedded software and familiarity with secure coding guidelines. Must be able to articulate secure coding practices and demonstrate real-world application.Strong problem-solving and debugging skills.Excellent verbal and written communication skills.Preferred Qualifications:Experience working with embedded Linux or bare-metal environments.Familiarity with modern C++ standards (C++11/14/17).Knowledge of embedded software development tools and debugging techniques.Experience working in an Agile development environment.