Fisker Ocean

Fisker Inc.
Software Engineer & 
Software Architect
Sep. 2021 - Present

Integrate Unity3D in a production vehicle.

  • Used for ADAS visualization in the Central Display.
  • Wrote a custom VHAL to Unity bridge that passed CAN through the Android layer to Unity.

Improved system performance and led Infotainment performance related efforts.

  • Overhauled the software backend to improve CAN BUS read/write times from 300-500ms per CAN signal to 0.3-0.8ms per CAN signal.
  • Rebuilt the Infotainment software architecture to be multithreaded instead of single thread leading to 2-3x performance uplift.
  • Reduced garbage collection by 10x through reduction of logging, loose variables, and logic improvements.

Used Vector CANoe to debug, record, and monitor various vehicle ECUs.

Developed internal tools for software installation, testing, benchmarking, and development.

  • Performance logger and graph generator that were used to analyze performance deltas between releases.
  • Python converter and playback tool for .BLF and .ASC logs in Unity.
  • Shell and Batch installation scripts for installing engineering builds to target hardware and vehicles.
  • XCode application for Design team to display and capture images on the vehicle.

Spearheaded effort to create an Android-based Infotainment platform to replace the existing one.  This would be used for the current Ocean program and all future vehicles while reducing the reliance on external SDKs.