|
SUMMARY
I am a software architect with broad vision and keen interest on
innovative ideas and emerging technologies, at the same time a very
driven and meticulous hands on programmer whose mind lights up when
encounter challenging problems. I am a champion of agile
methodologies and automated unit testing.
My technical expertise includes object oriented design, web applications,
SQL and non-relational databases and multithreaded applications in Windows
and Unix environment.
I am interested in software arhitecture/product development roles
in the area of web, networking, search, multimedia and other new
venture and emerging technologies.
|
TECHNICAL SKILLS SUMMARY
|
|
Languages |
Java, C, C++, Python, JavaScript, UML, C#, Delphi, VB, Bash, Ant |
|
OS |
Windows 95/98/NT/2000/XP, Linux, FreeBSD |
Internet |
TCP/IP, HTTP, MIME, URI |
XML |
DOM, SAX, XSLT, XPath, Schema, Xerces, Xalan |
Web |
HTML, CSS, Servlet/JSP, struts, CGI, ASP.NET, Apache, Tomcat, IIS |
J2EE |
EJB, RMI, BEA WebLogic, JBoss |
Web services |
SOAP, WSDL, Apache Axis, WebLogic Workshop |
Database |
SQL, ODBC, JDBC, SQLServer, MySQL, PostgreSQL, Berkeley DB, Lucene |
Media/Speech |
VoiceXML, SMIL, RTP, RTSP, Nuance, SpeechWorks |
|
|
EXPERIENCE
|
|
Ironport Systems (Now part of Cisco)
Software Engineer
|
05/2005 - Present
|
|
Built the network management appliance for our security appliances, focusing
on the backend projects that utilize databases, Python and the web
programming framework.
Prototype work on a web analytics database. This project involves building a large-scale high performance database with extensive algorithm work. (Lucene, Python C-extension)
Designed and developed the web framework to support centralized configuration for multiple products of multiple versions.
Designed and developed the centralized reporting engine (BerkeleyDB).
Designed and developed the spam quarantine engine (PostgreSQL).
|
|
|
|
MindRetrieve
|
09/2004 - Present
|
|
I have launched an innovative, open source, cross platform desktop search
application MindRetrieve to help
users search and organize the web they have seen.
HTTP caching proxy with index and search engine (Lucene).
Embedded web server for UI generation (Python).
Hybrid hierarchical and tag based bookmarking system.
|
|
|
|
Cisco Systems
Software Engineer
|
06/1999 - 05/2005
|
|
Architecture, design and development of a VoIP telephony
server (IVR, ACD). This is a Java based, multithreaded
application server. My contribution is primary in bridging
telephony applications, which are historically proprietary,
with standard web technology. Details of various projects are listed below.
|
|
Intelligent Networking
|
|
As a member of a startup team, built
an nightly build/unit testing/reporting system (Python,
Junit, Linux). Instilled the culture of automated testing at
the inception of the project.
Developed a rule engine that does high
performance pattern matching in parallel.
Integrated an embedded Javascript scripting engine.
|
|
VoiceXML interpreter
|
|
Led the development of the
VoiceXML interpreter (voice browser).
VoiceXML is a W3C standard markup language for building
web based voice applications utilizing speech recognition
(ASR) and text-to-speech (TTS).
Represented Cisco in W3C voice browser
working group (http://www.w3c.org/voice).
Drafted the VoiceXML 2.0 and other related
specifications. Present the company's requirement and
report to the team on the design principle and
motivation of the standard.
Developed support for HTTP 1.1,
MIME uploading, cookie and SSL. Embedded an ECMAScript
engine (Mozilla
Rhino).
Built an automated test tool
(JUnit). Led the test team to build a test suite. Resulted
in automation of high percentage of test cases.
Conceived and developed several
prototype applications, including unified messaging and
multi-modal applications. Some sample applications became marketing's
favorite and has went on to road shows.
Developed a convergence plan
for several independent VoiceXML implementations in Cisco.
Participated and supported the migration of several Cisco’s
voice products to VoiceXML (call center, voice messaging systems).
|
|
IVR Application Server
|
|
|
Lead the development of a web base administration tools (IIS, HTML, CSS, ASP, JavaScript, Applet, JNI, RMI, COM). Later migrated to Java based implementation (Servlet, JSP, struts, taglibs).
Created web connectors for the IVR applications. This is an enabling technology providing web access for telephony applications.
Setup the project's build process using Ant.
|
|
|
Optimal Networks
Senior Software Engineer
|
8/1998 - 6/1999
|
Designed and developed a
network performance analysis application for
distributed, multi-tiered applications on local and wide
area network (similar to a distributed Sniffer). Created network traffic visualization
and drill down view (COM, ATL, Visual Basic).
|
|
|
Canon Information Systems
Software Engineer
|
4/1997 - 8/1998
|
Developed a document management
system for the Canon multifunction machine, an all in one printer
with scanning, copying and faxing capabilities (VC++, ODBC, Watcom database).
|
|
|
Titan Group Limited (Hong Kong, Singapore)
Project Leader
|
8/1993 - 8/1996
|
Designed and developed a computer
maintenance management system (CMMS). Features include
work order management, workflow management, maintenance
scheduling, and performance evaluation etc. My role is
in designing GUI, database schema, scheduling algorithms
and custom Delphi components (SQL, ODBC, SQLBase,
Delphi, MFC).
|
EDUCATION
Master in Computer Science,
1993, Chinese University of Hong Kong
Bachelor in Computer Science, 1991,
Chinese University of Hong Kong
|
REFERENCES
Available Upon Request
|