Sign in

Engineer Python

Milpitas, CA
October 15, 2020

Contact this candidate




Name : Hongjun Fan

Location : San Jose

Email :

Cell Phone : 1-925-***-****

English Level : Good


Eight years Python automation scripts developing experience

Over 8 years experience in BMC/BIOS firmware validation test on server products.

Over 3 years experience in diagnostic test on data center switch products

Two years in SSD firmware test on TLC NAND SSD products

Solid experience with Python script, Linux bash script and TCL script

Familiar with Redhat, Suse, Solaris, Ubuntu and Windows Server edition OS

Familiar with IPMI, ATA, SATA protocol

Familiar with dynamic web architecture and developing, such as Node JS plus AJAX, database like mysql and redis.


Cisco Systems, Inc(San Jose)

Oct 2017 - Now

Cisco Systems(China) Research & Development Co., Ltd July 2016 – Oct 2017

Job Title:

Technical Leader Software Engineering

Main Role:

Switch diagnostic test automation


Maintain Diag QA infrastructure including Web interface, TMUX enviroment and daily report tool

Make test plan, create test cases for new features

Creating TCL, Expect, Python and Shell script for test sequence change and new introduced test features

Building Diag image, lauch, monitor and management Diag daily regression tests with the test framwork

Develop Diag screening script and all related mornitoring/Utility scripts

Involve in Diag debug to isolate N9K Switch hardware issue with Diag tool

Diag image issue analyse and debug, bug report and tracking with Cisco CDETS

Prepare Diag manufactory release and manufacory support

Optimized work flow with automation tools gitlab CI/CD, Jenkins, etc.

Lab equipment maintain and management for all regression UUT and UNIX servers Projects:

Latest Test Project: Utopias

Period: 12/2019—Now

Project Role: Diagnostic QA

Project Info: Utopias is the latest data center switch which support 400G data throughput using inhouse designed ASIC

SW Environment: Tmux, Web monitor

HW Environment: Server and switch product

Responsibilities: product bring up with diagnostic, regression tests. PROFESSIONAL EXPERIENCES

Mircon R&D Center, Shanghai

Dec 2014 – July 2016

Job Title:

Senior Product Validation Engineer

Main Role:

Python Automation Architecture


As test architecture, I responsible test architecture developing and maintenance, both core and product specific code are Python based, Python code will call a midware Drive Mate. Python code developed using eclipse IDE tool, code version controlled by SVN(Subversion)

We develop both SATA(Serial Advanced Technology Attachment) SSD (solid state drive) SSD, besides standard SATA feature, our tests also cover firmware internal designed feature verification, especially on Nand Flash media operation.

Develop new python script for new firmware feature, and at the same time, review peer’s script.

I use lecory for both SATA protocol analyzer and link layer error injection test; Develop tests to cover media access algorithm.

Write oven scripts to control chamber temperature cover drive stability test.

Maintain Jenkins server, create Jenkins job to run Continuous Integration Test for both test code change and firmware image release

Debug script failures, isolate scripts issue, firmware issue or Nand issue, then fix Script bugs report firmware issue.


Latest Test Project: Acaida

Period: 02/2015—06/2016

Project Role: Firmware test script developer

Project Info: Acadia is the first TLC Nand SSD drive of the company, which using Marvell controller and B0KB NAND.

SW Environment: Eclipse, Source Insight.

HW Environment: SATA drive

Responsibilities: Test coverage review; New script development; Failure scene debug SUN/Oralce R&D Center, Shanghai

Apr 2008 – Dec 2014

Job Title:

QA Leader

Main Role:

Firmware QA Lead / Automation Lead


SP(Service Processor) is an embedded system which build in server product mother board, provide hardware level remote management of server. the SP firmware developed based on embedded Liunx, providing both remote Command Line Interface, Browser interface and Java Remote Console interface to user. As SP firmware Quality Assurance lead, it's my responsivity to develop test cases for new feature which introduced when new Sever project launched. define test coverage for every SP firmware release base on firmware changes.

As automation lead, it's my duty to develop new method to automate existing manual test cases. for SP command line interface, I lead team create TCL, expect, Python scripts and shell scripts to automate, For Browser interface, I use curl for web page communication automation and write page specific parser for data exchange. I create selenium programs for Browser interface automation, Sikuli programs for Java Remote Console automation. For legacy BIOS(Basic Input/Output System) automation, I use console redirection to automate. For UEFI(Unified Extensible Firmware Interface) BIOS, I create UEFI shell scripts to automate.

Setup and maintain the whole automation test system, including automation develop server, moko execution server and moko server, Setup ATS(Application Test Suite) environment

I am the test code advocate, it my job to review and approve code merge to branch/trunk.

Launch automated test suite on Moko execution server which including SNMP(Simple Network Management Protocol ), WS-man(Web Service Management), IPMI(Intelligent Platform Management Interface), remote-storage, etc.

Setup ATS(Application Test Suite) environment, run ATS test before product start manufactory build.


Latest Test Project: X4-2B BMC Firmware Testing

Period: 02/2013—12/2013

Project Role: Firmware QA leader

Project Info: X4-2B is an Intel Romley based IVB-EP blade server, it using AST2100 as the BMC chip, BMC firmware is in-house designed ILOM, updated to ILOM3.1 SW Environment: ILOM3.1.2.32, BIOS20001000 (UEFI base) OS: OEL6.2, Solaris11

Tools: ipmitool1.8.9.10, ipmiflash1.8.9.4, HMP2.2.2 HW Environment: All supported Intel IVB ES0 CPU and Samsung/Hynix DDR3 LV DIMM, Responsibilities: Write the Firmware validation plan, develop test cases base on new feature, develop test scripts and run tests

Achievements: lead test team successfully finished each stage of testing with high efficiency and quality

Automation project: Pylom

Period: 12/2013—Present

Project Role: platform automation leader

Project Info: Pylom is a python based BMC firmware test frame with common lib and utilities, platform team implement platform specific lib, tool and utilities, platform team develop test case scripts.

SW Environment: python2.6.6, svn1.6.11, cx_Oracle5.1.2 HW Environment: python build server, script execution server, may test agent and UUT Responsibilities: lead porting China branch, develop snapshot test on branch Achievements: Make China branch works with our server product. Inventec R&D Center, Shanghai

July 2004 – April 2008

Job Title:

SIT4 Manger

Main Role:

Function manager of BMC test team


Running BMC(Baseboard Management Controller) Firmware test team

Planning BMC Firmware and Server Management software validation tests, to check if there are some bugs with the firmware or software, if the BMC firmware is consistent with IPMI2.0(Intelligent Platform Management Interface) Specification

Basing on the Server project schedule, arrange manpower properly to cover more projects.

Optimizing the test procedure and developing the test tool

Issue analyses and trouble-shooting, using I2C (nter-Integrated Circuit) bus analyzer for I2C issue, Wireshark for other IOL(IPMI over lan) and SOL(serial over lan) session sequence check. 771 Micro Electronic Research Institute

July 2002 – July 2004

Job Title:

Associate Engineer

Main Role:

semiconductor produce process


As process engineer, I am responsible for Hybid Integrated Circuit thick film process and thin film process technology and process management.

New Product process feasibility analysis, drawing sign, process design for batch trial and giving a trial report.

Solve the process technical problems, improve product quality and yield first pass rate. Support product line site engineer.

Lead new process technology introduction and experimental research.

Product equipment maintain


North-western polytechnical University of China 1998, 9 – 2002, 7 Bachelor degree of Automatic Control

Contact this candidate