Professional Experience
Awarepoint — Senior Firmware Engineer (June 2015 - June 2018)
- One of a three-person firmware team responsible for developing the company's first generation of BLE/Wi-Fi location tracking products, of which we successfully sold tens of thousands of units with no major production issues.
- Worked extensively with the TI MSP430 (low-power application), CC26XX (BLE), and CC31XX (Wi-Fi) family of chips.
- Successfully led a design effort to create a second generation of products in which we ported the firmware from a three-chip platform (MSP+CC26XX+CC31XX) to a two-chip platform (CC26XX+CC31XX), reducing overall product cost and dimensions. This required a significant effort to reduce firmware memory consumption, while keeping the same functionality.
- Was responsible for the development of the products' accelerometer drivers.
- Was responsible for the development and maintenance of the firmware build/test tools that we used during development. These tools were written in Python, Go, and Java.
- Helped develop and maintain various Android applications used in production and during debugging.
Western Digital — Senior Electronics Subsystem Engineer (July 2012 - June 2015)
- Provided internal applications support for a wide range of client and enterprise hard-disk controller (HDC) programs.
- Worked closely with ASIC designers to debug proprietary HDC logic during design and bring-up.
- Extensive experience debugging hardware and firmware caused memory/cache corruption issues that are only seen during high-volume production.
- Led debug efforts involving the HDC's security and encryption subsystem.
Western Digital — Test Engineer (July 2011 - July 2012)
- Developed and managed firmware test plans for multiple disk drive programs that eventually went into high-volume production, including the first 2TB 2.5" disk-drive and the first 6TB WD Red drive for network-attached storage.
Flank Marketing — SEO Marketing Intern (October 2010 - May 2011)
Education & Certifications
- Area of Study: Embedded Systems
- Major: Electrical Engineering
- Minor: Mathematics
- GPA: 3.49 (Cum Laude)
UC Irvine — Device Software Programming Certificate (90 hours)
Skills & Proficiencies
- Embedded C/C++/assembly firmware design on ARM, AVR, PIC, and MSP430 CPU architectures
- Experience with various RTOS platforms such as uC/OS-III and TI-RTOS
- Experience using Lauterbach, Arium, MSP-FET, and XDSv100 debuggers
- Experience using various IDEs such as Visual Studios, Code Composer, IntelliJ, and Android Studio
- Significant experience in other higher-level languages such as Python, Go, and Java
- Experience with Git, Subversion, and Perforce version control tools
- Experience using issue tracking systems such as Jira and GitHub Issues
- Experience with wireless technologies such as BLE, Wi-Fi, and ZigBee
- Experience with serial communication protocols such as UART, SATA, USB, SPI, I2C, etc.
- Has developed Wireshark protocol dissectors for various proprietary TCP and 802.11 protocols
- Experience with circuit design and debugging (capable of soldering)
- VLSI design experience using Verilog, System Verilog, and VHDL
- Front-end web development using HTML/CSS and various JavaScript frameworks (e.g. Vue.js)
- Back-end web development on Linux/Windows, running on Apache/Nginx or a custom solution written in Python/Go
- Understanding of security/cryptography best practices and experience with tools such as OpenSSL
- Experience developing web applications using AWS and Google App Engine
- Experience with various database technologies such as SQLite, MySQL, and NoSQL
Side-Projects
- I have made contributions to various open-source projects such as OpenCV (#6283) and jSerialComm (#62),#99).
- My port of the Java Boilerpipe library to the Go language currently has about 50 stars on GitHub. This library is used to extract the content of an article given an HTML web page.
- For my bachelor degree senior design project, we developed a vehicle parking monitoring system which utilized a custom designed magnetic sensor board that would detect vehicles in a parking space, and broadcast its status using ZigBee and Wi-Fi, displaying the status on a web page.
- I have experience using web APIs such as Facebook, Google Maps, and Spotify for various other side-projects.