Senior Software Engineer Resume
SUMMARY:
- 15+ years’ full cycle development of firmware/embedded/test softwarewith C/C++/Scripting/Java over Linux/Windows/VxWorks in various industries.
TECHNICAL SKILLS:
Programming Languages: C/C++, Perl, Python, Java, Bash/Power shell, HTML, XML.
Test automation frameworks: 1) Labview/TestStand; 2) Python, Perl, Bash, Batch.
HW components/communication protocols: CAN - bus, SPI, I2C, PCI, PWM, Timer, ADC, Interrupt, UART, WiFi and device drivers.
Troubleshooting & debugging tools: IDE, Network Analyzers, Oscilloscope, JTAG, ICD, (vector) signal generator/analyzer, power meter.
IDEs: Tornado for VxWorks, Microchip MPLAB for PIC, Metrowerks CodeWarrior for PowerPC and MC68K, and Microsoft Visual Studio (C++ and .Net), TestStand/LabView/DAQmx/VISA.
Agile/Version/tracking: Perforce/JIRA/Review board/Jenkins, Subversion, ClearCase, CVS.
Test strategy and profile: unit/regression/stress/integration/automation/system tests.
Networking protocol: 802.3-TCP/IP, HTTP, Telnet, FTP and SNMP. 802.11-WiFi.
Scripting: Perl, JavaScript, PHP, Python, Shell, Tcl/Expect.
Languages/Model/ Techniques: Java, Restful, HTML, XML, DOM, AJAX, CSS.
Databases: MySQL, Oracle.
WiFi/Network Analyser/Sniffer: Wireshark/iperf/Airpcap, CommView.
PROFESSIONAL EXPERIENCE:
Senior Software Engineer
Confidential
Responsibilities:
- Develop manufacturing test code for components: wifi, audio, LED, motor, microphones, speaker and bunch of sensors in Python/Shell scripts and C with packages numpy, matplotlib, statistics, network
- Develop test automation by unit test/pytest framework; real-time monitor for Pubnub data stream
- Develop offline test data (in JSON/XML) analysis & statistics with Python
- Simulate traffic on network for wifi stress test by ATC: Python, Django, RESTful
- Agile environment. Bug tracking/version controls: GIT, Jenkins(CI/CD, unit test automation), Jira, Confluence. Plan, track and release test software
- Statistics & visualization on mfg data by Kibana on Amazon AWS/Elasticsearch
- Failure analysis and troubleshoot performance/manufacturing issues
- Debug/test tools including iperf/wireshark and analyzer (for wifi); protocol analyzer (Saleae, for serial communications); audio editor (sounds for baby cry test); router CLI; IP-enabled power switch
- On/off-site support to manufacturing in China
- Work cross multiple business units
- Train mfg/new hired QA engineers
Senior Firmware/Test Engineer
Confidential
Responsibilities:
- Designed, implemented and maintained test automation code for WiFi modules in whole product processes (PROTO/EVT/DVT/PVT). Automation frameworks: 1) C/C++/Perl, Linux/Windows shell scripting, multithreading, networking, HTTP server, XML/HTML. 2) Labview/Teststand/DAQmx/VISA.
- Developed Labview driver with SCPI protocol.
- Developed Data Analyzer (histogram, statistics, limit setting) for WiFi test data log on test items including PER, RSSI, Noise Floor, PHY error. Java, XML.
- Troubleshooted root cause with the HW, RF and manufacturing teams.
- Developed RF calibration utility (AutoCal), which optimizes and improves the test process and coverage. Java/Multithreading/networking/XML/MS SQL(batch data retrieving)/Eclipse IDE.
- Developed memory, i2C and Ethernet diagnostic test code on MPC/Linux.
- Linux WiFi device driver and PCIe access to QCA AR95xx card.
- Microcontrollers: PowerPC MPC8314 and i.MX6SoloX (ARM Cortex-A9).
- Simulated & analyzed WiFi test data packets by 802.11 protocol and MAC frame.
- Test tools: Oscilloscope, WiFi Tester/Analyzers (Agilent VSG, LitePoint IQxel/IQView VSG/VSA), Power meter, Atheros Radio Test Utility (ART2). 802.11 Network Analyzer Wireshark/iperf/AirPcap.
- Developed Python simulator for GDM8251A power multi-meter (SCPI over RS-232) for audio SA test; Port Python to i.MX6/embedded Linux platform.
- Developed RESTful API/Handler for refactored wifi test code.
- Document test specification and plan. Software build and release.
- Agile/Bug tracking/Version controls: Perforce, Subversion. Review board. Jenkins. Plan, track and release software by JIRA tool.
- On/off-site support to manufacturing in Shanghai, China.
- Manufacturing test/Diagnostics leader to Sonos BOOST project.
Embedded Software / Firmware Engineer
Confidential
Responsibilities:
- Developed Bootloader firmware for Microchip PIC based power control board. Ported PIC18 based Bootloader and application to PIC32MX360F256L (MIPS core) + MCP2515 (CANbus controller) from scratch. Brought up hardware components including ADC, PWM, Interrupt, Flash, UART, SPI, I2C and Timer.
- Worked in Web Control Console design and implement with HTML, JavaScript, CSS, PHP, Ajax. HTTP server, MySql database.
- Introduced and developed the prototype of web test automation for QA team in CPI by using C#.Net/Watin (Web Application Testing in .Net). Automation to create test cases by XML.
- Developed Python module and C++.Net DLL interface to CPI Toolkit for QA to do test automation for the X-ray Generator system.
- Developed Linux device drivers for GPIO, RTC, NVRAM and DAC.
- Developed Windows Flash Program Utility with C++ .Net/IPC/QT4 and RS-232.
- IDE/Debuggers: MPLAB IDE, GDB. ICD2/3, Oscilloscope, waveform simulator.
- CVS and Perforce as software configuration management tool.
- Documentation for requirement/design specification.
Test Software Engineer, contractor
Confidential
Responsibilities:
- CDMA BTS -- 1xEVDO DOM-A Factory Test,
- Developed diagnostic testing software with VxWorks multitasking, IPC, and networking in C on MPC8560.
- Developed Tcl/Expect automated test scripts on Unix/Cygwin and did unit, regression and sanity testing for builds.
- ClearCase version control. Code inspection and Bug tracking.
- VxWorks5.5/Tornado IDE/CodeWarrior for PowerPC and PowerTap JTAG.
Prime Firmware Engineer
Confidential
Responsibilities:
- Traffic Sign LED Display System using MPC866T and PIC18
- Developed device drivers for PWM, SPI, Timer, Interrupt, A/D, UART, RS-232/485 and Pin I/O functions by IAR workbench and Microchip MPLAB/ICD2 IDE for PIC18F452 microcontroller in C/Assembler.
- Ported RedBoot and eCos to MPC866T board. Brought hardware up. Developed device drivers and BSP for Fast Ethernet Controller. SDRAM, CPM, UART and I2C.
- Ported U-Boot to MPC866T FP10K GII controller from scratch. Developed device drivers and BSP for FEC/MII, SCC, Flash, SDRAM and I2C in C. Embedded Linux Development Kit and PowerPC toolchain.
- Debugging Tools: CodeWarrior IDE for PowerPC. BDM. Oscilloscopes.
System Designer, contractor
Confidential
Responsibilities:
- Web Based Element Manager(EMS) for Enterprise PBX System
- Big contribution to the maintenance overlay UI as much generic as possible. C, HTML, XML, DOM, JavaScript, CSS.
- Created test plan and did unit and regression test.
- ClearCase version control system and Solaris Unix working environment
Software Engineer
Confidential
Responsibilities:
- Network Management System (NMS)/ Element Manager System(EMS) for UBS Connection Radio
- Designed new MIBs in ASN.1 notation and SNMP client:
- Developed Net-SNMP based SNMP client for both MPC860 and ColdFire 5272 embedded Linux system with C, multithread and IPC.
- Designed and developed Windows SNMP based EMS using Visual C++.Net, MFC, Win32, with configuration/performance/fault managements.
- Developed test automation software for the Radio by Perl and Labview 8.
- Maintained and developed DAB Mux control code in the M68360 VxWorks Web Server environment with C/C++, HTML, JavaScript. Tornado IDE.
- Created/executed test plan, cases and process including regression and system test.