Summary
• Over 16 years of work experience in IT field in software development and networking.
• Platform/System/Infrastructure software design.
• Linux kernel development.
• Linux system tuning and software performance profiling.
• C/C++/Java experience.
• Cisco Routing & Switching, Video Streaming, VoIP.
• Quick learner and result oriented.
Cisco Systems
Enterprise Networking Group, July 2010 – Present (5 years 10 months)
I worked on the networking OS for Cisco enterprise routers & switches like ASR1K, ASR900, ISR-4K and cBR-8, and more to come with project Polaris.I owned infrastructures which support networking features development, including:
- Forwarding managers – the core IOS-XE programming schedulers.
- IPC, named memory allocation, chunk allocator, in-memory DB, in-service-software-upgrade…
- Memory usage profiling and debugging.
- Performance analysis and trouble shooting.
I was the infra go-to guy, and I provided infrastructure support for over 16 major releases - XE3.2 through XE3.18.
I took initiative to refactor interface manager code and CFM code; in both cases thousands of lines of code were killed. I enhanced our building script to cut rebuild time by 50%, which affects ~1000 developer’s daily work.
Owner of L2 networking technologies including CFM and AToM, also worked on VPLS, Q-in-Q and Bridge-Domain.
Video and Content Networking BU, January 2008 – June 2010 (2 years 6 months)
I worked on Cisco Content Delivery System, particularly in video streaming from both kernel and user space.I made following performance enhancements.
- TCP send offload, which reduced CPU usage by 50%.
- Offload live streaming channel traffic over multiple CPU cores.
- Developed tools to stress the system, identified bottle necks and improved it, which effectively cut CPU usage from 40% to 4%.
Frame lost debuggings.
Fix kernel coredumps.
IPC BU, June 2005 – December 2007 (2 years 7 months)
IP telephony gateway- Lead the call processing team to accomplish the H.248 project on time with decent quality.
- Acting as Design Authority in MGCP/H.248/GTD to provide technical consulting to peers.
- Hacking MDL language compiler to support signalling team.
- H323, SIP, SS7 call signalling.
AsiaInfo, Video Conferecing Server, May 2003 – May 2005 (2 years 1 month)
I worked on a high performance H323 Gatekeeper on Linux in C++, with multi-thread server programming and STL.
I designed & implemented a dedicated media proxy to work with the Gatekeeper to offload media traffic, which effectively scaled out our system capacity.
I took initiative to rewrite from scratch our fax broadcast system. This outperformed our old system by 400%, was capable of sending 20,000 fax jobs per day, and generated all revenue for MeiaFair. Media Fair, Fax Broadcast System, October 2001 – May 2003 (1 year 8 months)
It was a multi-threaded Win32 server, worked with variety types of fax boards, capable of on-demand page rendering, an with multiple job report options.
I also built a win32 fax client which intercepts the print driver to generate the fax jobs, and uploads to outbound server.
Financial Information eXchange protocol Engine – a C++ core service with Java and C++ libraries to talk with the Engine via socket. Legend-Yestock, Java/C++ Developer, October 2000 – October 2001 (1 year)
EESTART (Financial Web Portal) -- AIX + IBM HTTP Server + WebSphere + Oracle, with Servlets, JSP, EJB, JDBC, Applets.