P-NMOBSoftware Development Engineer II
Listed on 2026-05-04
-
Software Development
Software Engineer, Embedded Software Engineer, DevOps, C++ Developer
Troy, Michigan
P-NMOB5 Software Development Engineer II #1056000
Software Development Engineer
Job DescriptionWe are looking for a Mobile Software Development Engineer II with a strong embedded systems background to build the digital experience that connects owners to their vehicles. This is not a typical mobile app role. The engineer will work directly with vehicle hardware protocols — CAN bus, BLE, SGIM — and own the software that makes the mobile app talk to the car.
The role requires writing code that must run reliably when the vehicle is in motion, in poor connectivity, and under real‑world conditions that a test suite cannot fully anticipate.
You thrive in a fast‑paced startup where ambiguity is part of the job, your decisions have a direct impact on the product, and working across hardware and software teams is the norm. You know when to ship and when to hold, and you make that call with conviction.
What You Get to Do- Design, implement, and own mobile‑to‑vehicle communication features — including OTA software updates, key fob management, diagnostics, and vehicle signal interfaces — across both iOS and Android.
- Work directly with vehicle communication protocols: CAN bus, BLE, and SGIM/Auto Auth architectures. Write and review code that interfaces with ECUs, parses DID/DTC data, and handles real‑time vehicle telemetry.
- Lead the definition, design, and delivery of embedded‑adjacent mobile software that must be reliable, low‑latency, and resilient to real‑world hardware conditions.
- Contribute to and own end‑to‑end quality: unit tests, integration tests, vehicle‑in‑the‑loop tests on our software buck, and CAN/vector tooling coverage for all vehicle communication paths.
- Collaborate with vehicle engineering, electrical engineering, and firmware teams to understand signal specs, protocol constraints, and DV milestone dependencies — and translate those into mobile software that just works.
- Participate in and drive code reviews and architecture reviews with a high bar. You simplify aggressively and push back on unnecessary complexity.
- Build features using React Native with a performance and reliability mindset informed by embedded systems discipline — thread safety, graceful degradation, and deterministic behavior matter here.
- Mentor teammates and contribute to a culture where engineering craft and customer outcomes are held together, not traded off against each other.
- Help define best practices for mobile‑to‑vehicle communication patterns that the team can build on for years.
- Bachelor of Science in Computer Science, Electrical Engineering, Computer Engineering, or equivalent professional experience.
- 4+ years of professional software development experience, with at least 2 years in mobile (iOS, Android, or React Native) and demonstrated experience working with or adjacent to embedded systems or vehicle software.
- Hands‑on experience with serial communication protocols: CAN bus, BLE, UDS, or equivalent. You have written code that talks to hardware, not just APIs.
- Proficiency in at least one systems language (C, C++) alongside a modern application language (Type Script, Kotlin, Swift). You can read and reason about firmware or ECU diagnostic specs.
- 2+ years of experience contributing to software architecture and design — not just implementing tickets, but shaping how systems are built.
- Strong command of the full software development lifecycle: version control, code review, CI/CD pipelines, testing strategy, and production operations.
- Experience with automotive diagnostics concepts: DTCs, DIDs, ODX/PDX specifications, or OBD‑II tooling is a meaningful advantage.
- Experience with React Native and cross‑platform mobile development in a production environment.
- Familiarity with Auto Auth, SGIM, or comparable vehicle‑to‑mobile security architectures.
- Experience with CAN/Vector tooling (CANalyzer, CANoe, or equivalent) or building automated test harnesses for vehicle communication paths.
- Background in OTA update systems for connected devices or vehicles.
- Experience on a software buck, hardware‑in‑the‑loop (HIL), or similar physical test environments.
- Familiarity with…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).