Research Software Engineer at Ford

Since February 2019, I have been a Reseach Engineer at Ford’s Research office in Silicon Valley with the overarching goal of finding and implementing solutions that allow for Level 3 Automation of the driving task.

Currently, there is no mass-market vehicle on the roads that offers and L3 driving feature. Both Tesla’s AutoPilot and GM’s Supercruise are Level 2 features. This means that you cannot engage in any alternative tasks that require your eyes, like watching movies, writing emails, or playing video games.

A level 3 system has the chance to not only make driving less demanding by supporting the driver, but it can actively give back time to the driver by allowing them to use the driving time in a productive fashion.
This has been my motiviation and goal of the past 3.5 years.

Over the past 3 years, I had the great opportunity to personally demonstrate the accomplished work to multiple Ford leaders including:

  • Bill Ford (Chairman)
  • Jim Farley (CEO)
  • Doug Field (Chief Advanced Technology and Embedded Systems Officer)
  • Sammy Omari (VP of Engineering, Head of Autonomy)
  • Jim Hackett (former CEO)
  • Ken Washington (former CTO)

During my time at Ford, I worked in the following positions on the following projects

Controls Software Engineer (Engineering Level 6/8) from Feb 2019 until Feb 2020

  • Designed and build L3 prototype vehicles using my knowledge of CAN, dSPACE MABx and dSPACE ControlDesk
  • Led Integration of Longitudinal Controller and object list processing using ROS, ROS2 for Python and C++ and Simulink
  • Assisted integration of later control and path-planning algorithms

Software Engineer (Engineering Level 7/8) from Feb 2020 until Sep 2021

  • Developed ROS2 based framework for Software development on L3 prototype vehicles
  • Build processing pipeline for lane-level map used in path-planning and decision making
  • Programmed CAN to ROS2 library that allows for faster integration of new CAN-based devices into the prototype vehicles (Includes CAN receiver, sender, decoder, and encoder) using C++, C, Python, and Jinja2.
  • Worked with a Reinforcement Learning Startup to integrate RL-based decision making algorithm into prototypes
  • Led cooperation with a Computer-Vision startup for enhanced perception
  • Created and enforced guidelines for the development, testing, and pull requests of 5+ L3 developers

Senior Software Engineer (Engineering Level 8/8) from Sep 2021 to present

  • Guided Software Development of 10+ engineers through code reviews and code architecture decisions
  • Started and guided projects with Simulation Team, Validiation and Verification Team, and Fleet Operations Team to provide support and feedback to L3 Developers
  • Continued to lead the cooperation with Computer-Vision startup for enhanced perception features
  • Guided the replacement of supplier-provided algorithms for sensor fusion, lidar perception, radar perception, and decision making with in-house solutions.

Previous Article
Next Article