Rochester Hills, MI30+ days ago
Key Responsibilities Design and develop applications across Windows, Android, and iOS platforms Build solutions leveraging multithreading, concurrency, event handling, and synchronization Apply strong software design patterns, OOP, functional programming, and software architecture principles Contribute to embedded software development and cross-platform integration Collaborate with engineers in an Agile development environment Troubleshoot complex technical issues across PC, mobile, and embedded platforms Travel to customer sites as needed to support deployments and issue resolution Required Qualifications Bachelor’s degree in Computer Science, Software Engineering, or related technical field 5+ years of experience in software design, development, and testing 5+ years of hands-on C/C++ development 3+ years of .NET development (C#) Experience developing applications for Windows, Android, and iOS Experience with embedded software development Strong understanding of software architecture, design patterns, OOP, and functional programming Experience with database systems (e.g., MySQL, Access or similar) Experience with Git and/or SVN source control Experience working in Agile/Scrum environments Strong problem-solving skills and ability to work independently in ambiguous situations Preferred Experience with OS abstraction layers and cross-platform development Prior experience in diagnostic, automotive, or industrial software environments Project Engineer – Software Development About the Role We are seeking a Project Engineer to design and develop cross-platform software applications used by technicians to diagnose and repair heavy-duty vehicles.