|
SUMMARY
I am a software architect with broad vision and keen interest on
innovative ideas and emerging technologies, at the same time a most
driven and meticulous hands on programmer whose mind lights up when
encountered challenging problems. I am a champion of agile
methodologies and automated unit testing.
My technical expertise includes object oriented design,
developing web, SQL database or 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++, Python, JavaScript, UML, C#, Delphi, VB, Bash, Ant |
|
OS |
Windows 95/98/NT/2000/XP, Linux |
Internet |
TCP/IP, HTTP, MIME, URI, Lucene |
XML |
DOM, SAX, XSLT, XPath, Schema, Xerces, Xalan |
Web |
HTML, CSS, Servlet/JSP, taglib, 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, Access, MySQL, PostgreSQL |
Media/Speech |
VoiceXML, SMIL, RTP, RTSP, Nuance, SpeechWorks |
Mobile |
WML, J2ME, MIDP |
|
|
EXPERIENCE
|
|
Ironport Systems
Software Engineer
|
05/2005 - Present
|
|
Built the system's spam quarantine backend. Instrumental in optimizing the
database operations and implementing unicode support throughout.
This two factors becomes the main differentiators to competitor's product. (Python, PostgreSQL)
|
|
|
|
MindRetrieve
|
09/2004 - Present
|
|
I have launched an open source, cross platform desktop search
application MindRetrieve to help
users search and organize the web they have seen.
Internally it is a HTTP caching proxy with an index and search
engine (Lucene) with an embedded web server hosting the
application interface (Python).
|
|
|
|
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.
Developed a scripting engine that
enhance the programmability of the system using Javascript.
Developed a web base configuration
system (Struts, Axis).
|
|
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).
Integrated to ASR and TTS engines.
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 [struts]. Some samples 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).
|
|
Web connectors
|
|
Created various web connectors
for the IVR applications. The ability for telephony applications
to access web resources becomes a major differentiator to
existing competitors (XML, JSP, XSLT, XPath).
Integrated a HTTP
server to the IVR application server. Enables outgoing
call to be initiated using HTTP. Built inexpensive
in-house test harness using this technology.
Integrated several open source projects into the
product, including Tomcat, Xerces and
Xalan from Apache and
the
Jikes Java compiler from IBM. Assisted other teams to adopt
Tomcat in their products.
|
|
Web administration
|
|
Lead the development of a web
base administration tools (IIS, HTML, CSS, ASP, JavaScript,
Applet, JNI, RMI, COM). It provides configuration,
monitoring and operation control.
Designed and developed a LDAP
based configuration data store (JNDI).
Initiated the migration to
servlet and JSP implementation. Utilized struts like framework
and JSP taglibs for internationalization.
Developed test driver for concurrent
database update to verify the correctness of simultaneous
database access.
Setup entire 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).
Designed data analysis modules
(SQL, MS Access). Provide network traffic visualization
and drill down (COM, ATL, Visual Basic). Supports
asynchronous reverse DNS lookup. Profiled and optimized
the process.
|
|
|
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
|