Embedded Software Engineer and hands-on technical team lead with 10+ years of experience developing software for safety and security critical systems.
Overview
10
10
years of professional experience
Work History
Engineering Director, Vehicle Software
Canoo
06.2022 - Current
Executed roadmaps and provided technical direction for vehicle software team developing platform software for all major ECUs developed in-house
Led a team to bring-up and develop next-gen infotainment system software in-house
Developed and deployed Over-the-Air update capability of all major ECUs in the vehicle
Contributed to developing cyber-security requirements, and led an effort on tackling vulnerabilities found after third-party penetration testing and TARA review
Maintained to work in individual contributor capacity to contribute code to various features (OTA, Telematics) and ECU base software (Powertrain Control)
Engineering Manager - Body, Vehicle Controls, OTA
Canoo
03.2021 - 06.2022
Defined and executed project roadmap for Body controls, Powertrain ECUs and OTA features
Developed and matured remote vehicle command and diagnostics features on company testing fleet
Led the development of manufacturing End-of-line diagnostic specification and software implementation for the vehicle
Assisted teammates in troubleshooting issues, and mentored new/young engineers
Embedded Software Team Lead
Canoo
01.2019 - 03.2021
Led a team to bring up AUTOSAR based Powertrain, Central gateway, Body Control ECU boards
Led the development of in-house base software stack (MCAL/Services and code-gen templates)
Developed driver for CAN, ADC, PWM, GPIOs, SPI, Ethernet, and Ethernet Switches
Participated in architecture design and development of OTA and remote command, remote diagnostics
Ran weekly planning sessions and daily standups for Powertrain and Body controls base software team
Sr. Embedded Software Engineer
Faraday Future
04.2018 - 01.2019
Developed and tested ethernet (TCP/IP & UDP) based vehicle network communication and gateway features
Participated in implementing vehicle telematics and remote control feature
Board bring up for chassis controller and developing drivers (PSI5/I2C)
Implemented digital signature based diagnostic seed-key feature and key storage using on-chip HSM
Ported crypto libraries for handling certificates and TLS communication
Embedded Software Engineer
Karma Automotive
09.2016 - 04.2018
Developed and maintained powertrain control software features and algorithm using Simulink (model- based)
Developed Simulink code-gen templates and s-function libraries for platform (CAN/IO/ADC/PWM) and utility features (CRC/fault-handling)
Developed safety and fault prevention application for redundant safety controller
Implemented in-vehicle CAN network and module-to-module security features
Participated in fault-tree analysis, function safety and technical safety requirements generation for ISO26262 compliance
Firmware Engineer - Contract
ID TECH
09.2016 - 01.2018
Assisted and advised firmware, system architecture development
Developed and integrated communication interfaces drivers (UART, SPI, USB, Ethernet), protocols(RPC), filesystem libraries(spiffs)
Design and developed bootloader with digital signature verification
Supported and troubleshooted existing software/firmware modules and libraries.
Firmware Engineer
ID TECH
07.2014 - 09.2016
Designed and developed the firmware/embedded software of multiple ARM Cortex-M based PCI and EMV certified payment terminal products (using IAR and/or cross-compile under Linux)
Generated documentation and specification for products developed
Developed test suites/scripts for engineering verification testing and manufacture testing
Generated reusable application specific libraries for quick implementation in future products
Education
Master of Science - Electrical Engineering
California State University
Fullerton, CA
Bachelor of Science - Electrical Engineering
Xinjiang University
Urumqi, China
Skills
10 years of embedded software development experience
Proficient in C, C, Python, Matlab and Simulink
Experience with ARM Cortex-M/A, PowerPC single/multi-core Processors
Experience with UART, SPI, I2C, CAN, Ethernet, USB, NFC, BLE
Experience with bare-metal, RTOS, Embedded Linux systems and Middlewares (Dbus, DDS, SomeIp, gRPC)
Well versed with methodologies and tools (such as Agile, Jira, Git, Unit testing, CI/CD, Static Analysis, etc)
Security Implementation experience (HSM, TEE, Secure-boot, PKI)
Technical leadership, road-map planning and execution