Wai Yip Tung

Contact

wy@tungwaiyip.info

Location

San Francisco, California, USA

Home page

http://tungwaiyip.info/



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