General Motors
As a Software Architect and Senior Software Engineer at General Motors, I contributed to the development of complex embedded systems powering critical vehicle functions across ADAS, propulsion, and body control domains. As a member of the architectural design team, I helped shape core software components of the Copilot emergency braking system for GM’s first autonomous vehicle at Cruise Automation. I led the architectural design of the External Object Calculation Module (EOCM) and worked cross-functionally to enhance modularity and reusability in key subsystems including Sensor Fusion, Longitudinal Execution, Lateral Execution, and Vehicle Path planning.
My work spanned multiple generations of embedded controllers, where I designed algorithms for engine position sensing in powertrain controllers, built communication tools for GMLAN and SPI interfaces, and created test automation frameworks. I owned software components such as the bootloader and memory management systems for GM’s Global A Body Control Module (BCM), and designed the middleware that bridged application software with low-level HAL, MCAL, and BSP layers.
The tools I used at GM include:
- MATLAB/Simulink
- dSPACE ControlDesk
- ETAS/INCA/MDA
- IBM Rational tools (DOORS, Rhapsody UML Modeling, Synergy)
- RiBeTT (unit testing)
- Lauterbach (in-circuit emulator)
- Vector tools (CANoe, CANalyzer, CANape)
- ASPEN (interface management)
- NeoVI (CAN)
- CPP Unit (unit testing)

