Sr Software Engineer
Lightbits Labs · Full-time
Apr 2021 - Present
• 3 yrs 7 mosDisaggregated NVMe/TCP Storage Clusters, Front-End Team
Member Of Technical Staff
TidalScale · Full-time
Feb 2020 - Jan 2021
• 1 yrSoftware-Defined Servers, I/O Virtualization Team
Staff Software Engineer
Extreme Networks · Full-time
Oct 2016 - Nov 2019
• 3 yrs 2 mosWireless Switch and AP Infrastructure
* Virtualization Tech:
Learn to use QEMU, KVM and libvirt, by setting up and running various VMs
Learn AWS CLI tools: older ec2-utils and newer awscli, to run VX9000 images
Setup and run WiNG build system, first in KVM, then in LXC, using shared source via NFS and bindfs
Learn to use Docker, run WiNG components isolated in containers
Convert WiNG-build LXC to Docker image, and bind-mount the shared source
Use AWS Simple Queue Service for prototype debug agent that runs as container at customer, and communicates via SQS to controller process at work office
* Port WiNG dataplane as VM on new Extreme switch platform:
Upgrade WiNG system to 4.14.30 kernel and drivers, port NIC-dataplane patches
Setup testbed with NX9600 (4x fiber ports) as KVM host, and Ixia traffic generator
Study and learn PCI-passthrough and Intel SR-IOV, define VFs on host passed to ixgbevf in WiNG VM
Reach demo milestone, showing high-thruput NAT routing through WiNG dataplane
* Resolve customer issues as ECRT member
Make bug fixes, analyze customer data, review code, and consult with team
All kinds of bugs: panics, wireless infra, dataplane core mechanisms, NX mfg, HW watchdog, kernel softlockup detection
* Support Aeroscout Locationing Feature
Study and learn WiNG feature implementation, in dataplane and user config
Port feature to several newer model APs (2017), then two more
Setup two Aeroscout test labs, fix cutomer bugs
Contribute to discussion and doc of proposed new auth design
* Work as member of AP7612 development team
Learn Qualcom/Atheros QCA wireless SoC, help port WiNG dataplane radio features
Work with vendor wireless and nand drivers
Study and use kernel mtd and flash subsystems, ubifs, resolve assigned bugs
Staff Software Engineer
Zebra Technologies · Full-time
Oct 2014 - Oct 2016
• 2 yrs 1 mo* Resolve customer issues as ECRT member:
Make bug fixes, analyze customer data, review code, and consult with team
Assist with data analysis and code review for many customer issues
All kinds of bugs: panics, wireless infrastructure, dataplane core mechanisms, NX
manufacturing support
* Develop and maintain software for NX product features
Port WiNG kernel and driver customizations to newer kernel versions as needed
NX96 throughput tuning: setup Ixia testbed to pump traffic, measure and optimize
IRQ distribution of 4x 10GBps ports across 12 cores on dual Intel Xeon E5 platform
Refactor RAID code used on NX96, NX95, NX75
Mentor engineer doing NX55 diagnostics
* Virtualization Technology
Study and learn to use AWS to run instances, do accounting, manage regions (2016)
Scrape laptop image onto PC, study and learn QEMU to boot and run it as a VM (2014)
Sr Software Engineer
Motorola · Full-time
Jan 2007 - Oct 2014
• 7 yrs 10 mos* Resolve customer issues as part of ECRT, rough average 1 to 3 per week (2007..2014)
Make bug fixes, analyze traces, logs, configs and customer data, review code, setup
testbeds, consult and advise team
* Implement features and fix assigned bugs during WiNG dev programs (2007..2014)
Initially a variety of topics like these, but later years focus more on NX products
- support in dataplane for GRE tunnel (routed IP presents as a bridge port) (2010)
- support gigabit fiber port on NX65, includes driver and dataplane changes (2011)
- add ExpressCard support in AP boot loader (2012)
- support HW refresh with programming for new PIC-based part (2012)
* Create NX Product Diagnostic Software (2011..2014)
Develop bootable USB and CDROM images, provides a mfg/diag environment
based on WiNG kernel, used during mfg to install SW, and during HW testing
and diags, supports operations for POE switch, HDD, temp/fan, mfgrom, NCM, PSU
status, LCD, etc
Initially for NX6500 in 2011, this evolved for NX9500, NX7500, and NX9600
* Develop RAID Support for NX products (2012..2014)
Study and learn to use various HW RAID devices (Adaptec and Intel MegaRAID)
Backport newer megaraid driver from later kernel to WiNG
Implement python for WiNG to manage RAID, integrated with CLI and config system
Initially for NX9500 (2012), evolve over time to support NX75 and NX96
Responsible for RAID feature, through test and release of WiNG 5.5 and 5.7,
including manufacturing support, and resolving customer issues
* NX Platform Lead Engineer, for NX75 (2013) and NX96 (2014)
Develop WiNG and diagnostic SW to support new copper and fiber ports, new RAID
controllers, PSU status detection, LCD display
Port NX diagsw to new platforms, and resolve various needs and issues from HW test,
manufacturing, and service diagnostics
Lead resolution for all WiNG issues found NX platforms in WiNG 5.5 and 5.7 programs
Software Engineer
Symbol Technologies, Inc.
Jan 1997 - Dec 2006
• 10 yrsAcquired by Motorola Dec 2006
* Manage customer issues for AP4131 (legacy embedded SW, single 11b radio) and later AP5131 (Montavista Linux-based, dual 11a and bg radios): track issues status, troubleshoot problems, code fixes and new features, test/release proceses
* Design and implement support for Switch/AP communications protocol on AP200/AP300, used with the original Symbol WS5x00 wireless switching product
* Design and implement 802.11 radio drivers for two standalone AP products, both proprietary radio designs with custom controllers. First a PowerPC-based system with FH radio accessed via PC-Card, and later an ASIC-embedded 188-based system with integrated 11b/g radio controller.
* Develop and maintain DOS PCcard support tools for ARM-based embedded wireless device, including flash update, debug console, and radio diagnostics
* Entry-level: Learn and maintain Symbol 802.11 FH adapter card through end-of-product life, all software components: adapter firmware (embedded x86 assy) , flash update and diagnostic DOS utilities (C, PCMCIA), FH packet sniffer application