Work Experience

Software Development Manager (SDM)

Amazon, Toronto, ON, Canada

Aug, 2022 - Present

  • Leading Client Security team to protect client data and provide a secure operating system for customer service agents

Software Development Engineer (SDE II)

Amazon, Toronto, ON, Canada

July, 2021 - Aug, 2021

  • Software Development for Customer Service Security

  • Java, C++, C, Shell Scripts, AWS

Senior Software Engineer & Product Manager

General Motors, Markham, ON, Canada

Feb, 2018 - July, 2021

  • Product Manager for SAFe Mapping ART. Work closely with Business Owners and Engineering Leaders to form the roadmap and delivery plans, clarify ambiguities and provide constant updates from the ART. Work closely with Product Owners and team members to better collaborate with each sub-team, remove roadblocks, reduce delivery risks and improve team performance.

  • Led a team of software developers to develop the Delta Map generation and OTA solution, including specifying embedded software requirements, functional decomposition, map database schema, robustness and quality tests (unit tests, integration tests and bench tests)

  • Led cross-functional teams, including embedded software teams and back office teams, to discuss and develop Map Tile solutions to improve the flexibility of map solutions for Super Cruise and Ultra Cruise. Being recognized as an Map OTA subject expert.

  • Developed many software and maintenance tasks of software, including Map OTA, Attribute Provider, Application layer and Database layer. Provide software functional and safety updates to senior management teams.

  • Coached the ADAS team with C++ course, data structure and algorithm, and helped them develop interests in software development.

  • Mentored multiple new hires of the team and helped them to quickly get familiar with the software architecture and business context of HD Mapping team

  • Led GM Women In Engineering event to share the professional development and encourage women to participate and influence in Engineering development and related fields.

  • C++, Python, C, Green Hills Integrity, QNX, JIRA, GIT, Gerrit, Bitbucket, Jenkins, RTC, Visual Studio, VS Code, Eclipse Oxygen

Senior Embedded System Engineer

Mircom Technologies Ltd, Vaughan, ON, Canada

Feb, 2017 - Feb, 2018

  • Software Architecture design and development for Fire Alarm Panel using Quadros RTOS on Blackfin. Involved in next generation fire alarm feature design and development on Flex-Net.

  • C/C++, XML, Eclipse Mars, GitLab, Bugzilla, Cygwin, CodeWarrior, uboot, JSON

  • Analog Devices - ADSPBF537 (Blackfin, Quadros)

  • Control and Network System programming

  • RTOS, RS485, Ethernet, UDACT, DTMF

Software Developer

Flex Ltd, Markham, ON, Canada

Feb, 2016 - Feb, 2017

  • Led a team to design and implement an automatic validation system using Vector HIL to accommodate automotive OEMs' feature and functional specifications.

  • C/C++, CAPL, Vector CANoe, CANalyzer, Test Automated Editor, VT system, CAN bus, Diagnostic Services Validation based on ISO 14229

Lead Embedded System Developer

BSM Wireless, Toronto, ON, Canada

May, 2012 - Feb, 2016

Lead embedded system firmware team to bring a design to the product. Firmware development for vehicle & asset tracking platform for advanced monitoring, two-way communication, remote control and fleet intelligence.

  • Designing, Coding, debugging, writing test procedures and testing software code

  • Analyzing, implementing corrections and reviewing defect reports

  • Reviewing code and producing software requirements analysis

  • Programming Language: Embedded C/C++, Visual Basic

  • Microcontrollers: STM32 (ARM based), ATMEGA2560 (Atmel AVR)

  • Interfaces: RS232/485, SPI, I2C, CAN bus, 1-Wire, USB, GPIO, ADC, Zigbee

  • Modem Interface skills: AT commands on Motorola Modem and Telit Modem and Qualcomm AR9331

  • Networking: UDP/IP, TCP/IP, knowledge of LAN, WLAN, SSH

  • RTOS microcontrollers, ARM Cortex-M3, knowledge of openWrt (Embedded Linux)

  • OTA design and MDM system

  • ECM: knowledge of OBDII, J1939 and J1708

  • Familiar with GPS module: UBLOX, SIRF3/4

  • Experience with various devices: Micronet MDT (WINCE), HID reader, temperature sensors, salt spreaders.

Embedded Software Developer

Webtech Wireless Inc, Toronto, ON, Canada

May, 2008 - May, 2012

Linux Based Embedded System development using C (ATMEL AT91SAM) and Dynamic C development (RABBIT3000 & RABBIT 3200)

  • Programming Language: Embedded C/C++, POSIX Linux Application, CGI, Perl, Dynamic C, Shell Script

  • Microcontrollers: AT91SAM (ARM based), Rabbit 3000

  • Interfaces: RS232/485, SPI, I2C, CAN bus, 1-Wire, USB, GPIO, ADC

  • Modem handling skills: AT commands on Motorola Modems and Wavecom Modems

  • Networking: UDP/IP, TCP/IP, LAN, SSH, Lighttpd

  • Experience on RTOS microcontrollers, Embedded Linux OS

  • Familiar with Cross-Compiling and Makefile

  • Tools: SQL, source control CVS, bug tracker Git, JTAG BDM

  • Linux Based Embedded System development using C (ATMEL AT91SAM)

  • Dynamic C development (RABBIT3000 & RABBIT 3200)

  • Application design for various interfaces (RS232, RS485, USB, GPS module, I2C, 1-WIRE,

  • Sound card, Novatel & Motoroal Modems, LED display, various snow plow controller,

  • Autotap J1939/J1708/OBDII, RFID, Swipe Card, UDP/TCP, MDT-NET960CE)