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)