Download PDF format resume: XinWei_Resume_2020
SUMMARY OF QUALIFICATIONS
- 15 years of experience in software design and development of embedded systems in consumer electronics and automotive infotainment
- Extensive development experience in multiple OS systems (Linux, Windows, Android, and RTOS) and multiple platforms (x86, ARM, PowerPC, microcontroller, and DSP)
- Excellent programming skills in Java and C/C++, and familiar with Python, Unix shell script, assembly language, SQL, and design patterns
- Solid knowledge in embedded system design and debugging, Android framework, TCP/IP protocols, Android Auto, and Apple CarPlay
- Highly self-motivated, hardworking, and good teamwork spirit
Senior Software Engineer, General Motors
Oct 2015 – present
General Motors Canada, Markham, ON
Projects: Android-based vehicle infotainment system
– Responsible for software development in Android framework for phone projection, connectivity, and network management features, following Agile/Scrum process (Git, Gerrit).
Programming languages: Java, C++.
- Fast prototyped Wireless Android Auto (WAA) feature before 3rd party dependency was ready. Saved 3 weeks’ time in project schedule.
- Designed and implemented Wireless Projection Service in Android framework to support WAA feature: sharing WiFi hotspot info to phone via Bluetooth RFCOMM connection, and starting Android Auto session in WiFi connection following Google spec.
- Fast learned Apple spec and Bonjour service, and successfully implemented Apple Wireless CarPlay (WCP) prototype using C++ and JNI before 3rd party library was ready. Saved 2 weeks’ time in project schedule.
- Extended Wireless Projection Service to implement WCP feature: Establishing iAP2 channel over Bluetooth and sharing WiFi hotspot info to iPhone, discovering and resolving Bonjour services, and starting CarPlay session in WiFi using Cinemo’s library.
- Refactored Device Connection Management Service: managing all connected devices in Android including Bluetooth devices and phone projections. Implemented using Message Queue, AIDL, and State Machine. Significantly improved stability and maintainability.
- Worked with software architect to design vehicle network system. Implemented Net Filter Service to manage network firewall rules and data traffic priorities. And maintained Android connectivity system (Connectivity Service, Network Management Service, netd).
Software Engineer, Qualcomm
Feb 2015 – Oct 2015
Qualcomm Inc., Markham, ON
Projects: Android platform development of automotive infotainment system
– Responsible for software development and maintenance of Android display system based on Qualcomm SoC.
Programming languages: C, Java.
- Actively involved in Linux open source development, and contributed source code to Linux kernel display driver to support 3 displays in Android.
- Fast learned Android framework in a very tight project schedule, and successfully implemented new feature of multiple apps co-existing on multiple displays, by modifying Android core services: Activity Manager Service and Windows Manager Service.
Software Engineer, Thales
Jan 2013 – Feb 2015
Thales Canada, Transportation Solutions, Toronto, ON
Projects: CBTC (Communications-Based Train Control) system
– Developing train control systems for new subway lines all over the world. Responsible for developing wayside sub-system which is the mission-critical part of the whole system.
Programming languages: C, Python.
- Designed system using redundant replicas to achieve high availability and high reliability.
- Developed C programs to process inputs from all replicas and control wayside field elements. Fixed low-level program issues by directly programming hardware registers.
- Captured CAN bus messages using CANalyzer, developed Python scripts to decode CAN bus messages, and performed data analysis.
Senior Software Engineer, Continental AG
May 2007 – Dec 2012
Continental Automotive Holding Co. Ltd., Shanghai, China
Projects: Bluetooth handsfree, Connectivity and Infotainment system, Telematics system
– As a technical team lead, responsible for software architecture and design document maintenance, new feature design and development in RTXC (a Real-Time OS) and Linux system.
Programming languages: C, C++.
- Experienced full software development life cycle (V-model) following CMMI process and MISRA coding standard, and managed source code in ClearCase / ClearQuest.
- Designed and implemented TCP/IP data communication sub-system over Bluetooth DUN (Dial-Up Networking), and based on that implemented location-based services (News, Weather, Traffic Info, etc.). The innovative feature integrated data connectivity into Bluetooth Handsfree products for the first time on the market.
- Designed and implemented an application-level protocol based on HTTP for secure and efficient data communication between in-vehicle device and remote server.
- Designed and implemented TTS (Text-To-Speech) feature by using iFlytek TTS engine with extremely low memory footprint, and implemented a prototype of cloud speech recognition feature based on iFlytek embedded cloud speech recognition engine.
Software Engineer, Leadtek
Jul 2005 – Apr 2007
Leadtek Research, Inc., Shanghai, China
Projects: IP video phone, STB (Set-Top-Box), and IP surveillance products
– Responsible for developing embedded Linux system in multimedia communication products based on TI DSP + Infineon MIPS CPU.
Programming languages: C, C++.
- Developed H.264 audio/video streaming apps based on RTP/RTCP/RTSP protocols.
- Configured QT/E environment in Linux, and developed QT/E applications.
- Built embedded Linux system: maintaining bootloader U-boot, building Linux kernel, and making root file system.
Apr 2002 – Jun 2005
Shanghai Jiao Tong University, Shanghai, China
Project: Research on high-performance drive and control technologies of induction motors
– Responsible for control algorithm research and innovation, experiment bench setup, and algorithm implementation.
Programming languages: assembly language, C++.
- Performed modelling and simulation research on various motor drive control systems using Matlab/Simulink, and published 8 academic papers.
- Presented new motor control schemes and improved motor control performance by introducing intelligent control methods such as Fuzzy control, Neutral Network control.
- Programmed TI DSP controller using DSP assembly language, implemented motor control algorithms and serial port communication module.
- Developed PC software using Visual C++ to control DSP board through RS-232 port, set parameters, receive data from DSP, and display the data graphically.
PhD degree in Automation & Instrumentation Engineering
– Shanghai Jiao Tong University, China. Apr 2002 – Jun 2005
M.S. degree in Mechatronic Engineering
– Nanjing University of Science and Technology, China. Sep 1999 – Mar 2002
B.S. degree in Mechatronic Engineering
– Nanjing University of Science and Technology, China. Sep 1995 – Jul 1999
Time and stress management
– American Management Association (China). 2012
Problem solving and decision making
– American Management Association (China). 2011