Travis Shirk travis@pobox.com · http://www.travisshirk.net/ 3100 Kerr Gulch Rd. · Evergreen, CO 80439 · 303.679.0792 Summary of Qualifications An energetic and motivated Software Engineer with 9+ years experience developing UNIX/Linux software systems. Specific interests include C++/Java programming, Object Oriented API/framework design, TCP/IP client/server solutions, and portable software design. A dynamic individual with leadership abilities, excellent communication skills, and a strong work ethic. Technical Skills: Languages: C/C++, Python, Java (JDOM, AWT, Swing, Servlets, Applets), PHP, SQL, UNIX Shell, HTML/XHTML, XML and DOM, Javascript, m4, LTEX, TCL, Common LISP, Modula-2, VAX Assembly. A Operating Systems: Linux (Gentoo, Red Hat, Fedora), Solaris, HPUX, IRIX, Windows (9x/2000 and CygWin), VAX VMS. Tools and APIs: TCP/IP, BSD sockets, POSIX and pthreads, OpenSSL, Apache, MySQL, Sqlite, ACE Toolkit, SOAP, GNU Autoconf, CGI, CVS, CORBA, Oracle Call Interface, make, HTTP protocol, Xerces C++, Qt/PyQt, Gtk+/PyGtk, Cyrus-SASL, SSH/OpenSSH, Doxygen, GeoStan. Professional Experience Jabber Inc. Nov. 2002 - Present Senior Software Engineer Denver, CO A senior member of the Server Product Group working on the Jabber/XMPP router and server-side components. · In progress... Rand McNally Feb. 2000 - May 2002 Senior Software Engineer Englewood, CO A lead engineer on a new development team tasked with creating a reusable C++ toolkit and network back-end for all of Rand McNally's Core Services: digital map generation, route computation, geocoding, and spatial searching. The toolkit powers www.randmcnally.com, and serves as a fundamental component to all future software projects. Specific responsibilities included the toolkit's geocoding, networking, and client/server components. · Designed and implemented object-oriented APIs for network sockets and streams, IPV4 addresses, and POSIX threads. These libraries are portable across many different flavors of UNIX. · Designed and built a multi-threaded network server framework. Server tasks such as connection establishment, thread management, signal handling, logging, etc. were handled by the framework, thus allowing specific network service plug-ins to be created with minimal effort or knowledge of network programming. · Created an API for binary class serialization, including the ability for versioned protocols and backward compatibility. · Supervised, and participated in, the development of the geocoding portion of the toolkit, including a US geographic boundary database using MySQL. · Designed a set of XML middleware servers that provided HTTP access to the toolkit's back-end servers. · Managed the toolkit's software build system using GNU Autoconf and many m4 extensions. The system was highly configurable and made porting to other platforms/compilers much easier. MapQuest Jan. 1996 - Jan. 2000 Senior Internet Engineer Denver, CO A founding engineer. Primary responsibilities were research and development of products and technologies. · Ported MapQuest's client/server API from C++ to Java and used it to create interactive applets/applications which were featured in Java Report magazine (Sep. 1996: Vol. 1, No. 4) and rated in the Jars Top 1%. · Created HTTP middleware for all of MapQuest's core Internet services, which evolved into a product called MapQuest Enterprise Services generating millions of dollars of company revenue. I performed on-site integration for many cus- tomers including Yahoo. [Note: Since the AOL acquisition of MapQuest, Yahoo has switched mapping vendors.] · Developed a PQA application for the Palm VII wireless PDA which is shipped preinstalled on all of Palm's wireless units. · Prototyped a mappable address book application using Java and Swing. The key feature was the use network storage, allowing for ubiquitous read/write access, and data sharing. · Prototyped the initial version of MapQuest Connect, enabling the development of the full product version which was sold to thousands of customers. GeoSystems Global Corp. (i.e. MapQuest) May 1995 - Sep. 1995 Summer Intern Lancaster, PA Primary task was the investigation of how Internet technology could be applied to mapping applications. · Developed a web application (CGI) allowing map navigation and dynamic point of interest placement, spawning the creation of the first MapQuest web site. Academic Computing Services Sep. 1992 - Dec. 1995 Laboratory Assistant Millersville, PA · Web master for the Computer Science department web page. · Instructed a one hour (two times per week) Internet training class for university students and faculty. Topics included shell, email, gopher, and ftp on Vax VMS. · Basic system administration (Solaris and VAX) tasks and lab support. Other Contributions · Developer for Gajim, a Gtk+ Jabber/XMPP client. (2005-Present) · Author of eyeD3, a Python module/tool for ID3 tag processing. (2002-Present) · Manuscript reviewer for the book "Up to Speed with Swing", by Steven Gutz; 1998 · Patches to the ACE toolkit regarding Active Object Queues. Education Millersville University 1991 - 1995 B.S. Computer Science; dual minor in Math and Physics GPA: 3.53; Major GPA: 3.8; Cum Laude · Departmental Honors: CSCI 498 (Independent Study Researching Mobile Robotics and Computer Vision). My partner and I built an autonomous robot named MoVeR and used it to experiment with motion detection and tracking. Honors were given for research resulting in an automated method for calibrating binocular stereo vision systems. Technical Conferences: Netscape Developer Conference 96; JavaOne 97-99 References are available upon request. Shirk - 2 of 2