Title: Software Architect / Senior Software Engineer
Location: Auburn Hills MI:
Visa: Any Visa except CPT, TN.
Key Responsibilities:
- Own and evolve the software architecture for the IPC ECU platform, including module boundaries, interfaces, and integration strategy.
- Design, develop, and maintain production embedded software in C (and supporting tools/scripts in Python as needed).
- Lead technical decision-making for new features, defect fixes, and platform improvements with focus on quality, performance, and maintainability.
- Perform system-level debugging and root-cause analysis of complex issues (timing, memory, startup, watchdog, communication, NVM, diagnostics, etc.).
- Drive best practices for coding standards, design reviews, code reviews, and integration readiness to reduce defect injection.
- Collaborate with Systems, Validation, Manufacturing, and Program teams to align requirements, delivery scope, and risk mitigation.
- Support integration and releases across product variants; help stabilize builds and resolve high-priority issues quickly.
- Mentor engineers and uplift team capability through hands-on guidance and technical leadership.
- Produce clear technical documentation (architecture notes, design decisions, runbooks) to improve continuity and reduce dependency on tribal knowledge.
Required Qualifications:
- Bachelorโs degree in Computer Science / Electronics (or equivalent experience).
- 10+ years of embedded software development experience, including technical leadership/ownership of complex components.
- Strong proficiency in Embedded C, debugging, and software design for real-time systems.
- Experience delivering software for automotive ECUs (instrument cluster experience is a plus).
- Strong problem-solving skills with ability to lead investigations end-to-end and drive closure.
Preferred Skills:
- AUTOSAR Classic exposure and configuration workflows (Vector DaVinci or similar).
- MCU/platform experience: Infineon Traveo II and/or Renesas families.
- Diagnostics (UDS, DTC handling), NVM strategy (NvM/FEE/FLS concepts), flashing/reflash flows, bootloader/security concepts.
- Experience with CI/build systems, integration branching strategies, and release discipline.