Post Job Free
Sign in

Firmware Engineer Software Development

Location:
Poway, CA
Posted:
June 27, 2025

Contact this candidate

Resume:

Bruce Thai

***** ******* ****, *****, ** *****

619-***-**** ******@********.***

SUMMARY:

20+ years of software development experience in C/C++, C#, JAVA.

Excellent skills in Micro Controller, Cryptography, Linux and Arms embedded system level software development.

Hands-on experience with operating systems like embed Linux, freertos, MicroChip’s MPLABx, Cygwin, WinCE 5.0.

Thoroughly familiar with software development life cycle and have shown high degree of initiative

during various project development phases including board bring up.

Strong UI design including keypad and LED, and prototyping

Good communication and analytical skills, problem solving, and highly motivated team player.

TECHNICAL SKILLS:

Operating Systems: Linux kernel, Windows

Software Languages: C, C++, C#, Java, 8086Asm, PHP, Shell Script, Python

Databases & other Tools: MySQL, MSAccess, Oracle, MS-Office.

Standards/Methodology: UML, 802.11b, Network Socket.

Crypto technology: Atmel, Sigma, Broadcom System On Chip Encryption/Decryption programming.

Network Server: Setup full suite server, NFS, NTP, DHCP, FTP, TFTP, Apache secure web server, SVN.

WORK EXPERIENCE:

Principle Firmware Engineer Aug’ 2016 – Mar’ 2023.

APRICORN, Poway, CA

Skill Acquired: C/C++, Python, I2C, SPI development and debugging with Saleae logic analyzer, BusBee USB analyzer. Create test

hardness to run all the FIPS-140-2 and FIPS-3 level 2 tests which includes SHA256, AES, and KAS 180-56a Rev1&2. Use I2C to communicate between Atmel ECC508,ECC608A,ECC608B and PIC18 and MAX23358.deep cover secure chip. Using Python script to run the Automator stress testing device over the weekend and sometimes week.

Working with UL and AegiSolve team to acquire product FIPs certification for the company.

I am using Microchip IDE, and Eclipse IDE.

I am using Python scripting to verify entropy generated by Atmel.

Working independently with very little supervision, bring products to market in a timely matter.

Create product from scratch and interact with third party vendor’s developer in China and Taiwan.

Staff Software Engineer Jul’ 2004 – Aug’ 2016.

ARRIS Group (formerly Motorola), San Diego, CA

Skill Acquired: C/C++,embedded Linux and WinCE development, Visual Studio 2005-08 Application, Linux kernel, and driver.

Main product is the VAP2400/VAP2500/VAP3400 AC, and Video Internet Protocol (VIP) Set-Top-Box development utilities WinCE 5.0 to create drivers and other utilities to support the factory real time manufacturing. Two quality products deployed worldwide and continue to grow as the #1 product. As a result of my work, the product has better driver performance and provides better competition through stronger signals and reliability.

I am devoted and passionate about my work and proud to participate on the team which creates and sets up the Linux server to emulate end-to-end consumer environment.

I work on the latest wireless network technology which enables the best quality wireless video streaming. Furthermore, I set up the advanced video tagging test and IX Chariot throughput test to ensure the highest quality product. Omnipeek wifi analyzer to capture wifi signal.

I design and write Linux PSoC, SCART, Ethernet, and USB, LED driver for VIP STB.

I am also responsible for factory mass production system setup which involves encrypting/decrypting PKI data, certificates from the PKI server and encrypts the data before writing to flash memory. The same concept applies to two very different System On Chip technologies. Sigma is all decryption and encryption on the chip and Broadcom is on the flash and encrypts the data base with proprietary chip technology.

I write utilities to support third party software to extract data from the hard drive and flash.

I am experienced in all aspects of the FAT file system structure and understand NAND, NOR flash technology.

I also write utilities to repair the fully encrypted software. I provide end-to-end close network system video streaming stress testing.

I write High Level Design (HLD) and Low Level Design (LLD) for USB, SCART, and Hard drive and flash image extraction.

I create Remote Control testing setup and procedure.

Software Engineer Mar’ 1994 – Application Software Engineer Jun’ 2004

Sony Corporation, San Diego, CA

Skills Acquired: 8086 Assembly language, C/C++, Java, UI designed, Shell Script, Specification documentation.

Main product is the video network server and CD duplication system. I write driver in assembly language and familiar with WinNT network setup, and testing suite for the CD Duplicator. Sony Direct TV Sat-t60 TIVO Digital Set-Top-Box integration, I am also responsible for factory mass production system setup.

RELEVANT PROJECTS/PAPERS:

Implemented UI design for Sony PVR set-top-box and write specification for implementation.

Implemented application for factory to producing product.

Implemented various framing techniques in TCP like fixed-length, variable length, sentinel-based etc. in C

on Linux platform.

Developing a Network Access Filter for home/small network use in LINUX environment.

EDUCATION:

Bachelor of Science in Computer Science Engineer, Jun, 1991

UCSD, San Diego, CA.

SELECTED PATENTS:

Publication number: 202********, “METHOD AND PORTABLE STORAGE DEVICE WITH INTERNAL CONTROLLER THAT CAN SELF-VERIFY THE DEVICE AND SELF-CONVERT THE DEVICE FROM CURRENT MODE TO RENEWED MODE WITHOUT COMMUNICATING WITH HOST”

Publication number: 202********, “PORTABLE STORAGE DEVICE THAT IS SELF-CONVERTIBLE FROM BEING A REMOVABLE DISK TO A FIXED DISK AND FROM BEING A FIXED DISK TO A REMOVABLE DISK”

Patent number: 10776025, “Portable storage device that is self-convertible from being a removable disk to a fixed disk and from being a fixed disk to a removable disk”

Patent number: 10656854, “Method and portable storage device with internal controller that can self-verify the device and self-convert the device from current mode to renewed mode without communicating with host“

Publication number: 201********, “PORTABLE STORAGE DEVICE THAT IS SELF-CONVERTIBLE FROM BEING A REMOVABLE DISK TO A FIXED DISK AND FROM BEING A FIXED DISK TO A REMOVABLE DISK “

Patent number: 10338840, “Portable storage device that is self-convertible from being a removable disk to a fixed disk and from being a fixed disk to a removable disk”

Publication number: 200********, “Audio/video editing in digital network recorders”

Publication number: 200********, “RF pass through for digital network recorders“

COURSES TAKEN:

Undergraduate Level

Software Architect, Data Structures, Computer Organization, Design and Analysis of Algorithms, Software Engineering, Microprocessors, Six Sigma yellow belt training, Open Source training, Security Software Development.

SPOKEN LANGUAGE:

Three Chinese dialects, Vietnamese, French, English

References:

References provided upon request.



Contact this candidate