Stephen Bartlett Software Developer, Manager www.bartlettsoftware.biz Voice: (805) 403-6260 Email: stephen@bartlettsoftware.biz Summary Software engineer, manager, and architect with over 25 years of professional experience with objectoriented techniques on many platforms. Many years of in-depth experience in designing and implementing large-scale client/server and web-based systems, with particular focus on high availability, scalability, and throughput. Expert on cross-platform (Windows, UNIX, and Linux) development utilizing major SQL databases and many languages / specifications. Sun Certified Programmer TM for Java 2 Platform. Experience eBay Inc. 6/2009 - present Staff Software Engineer Under contract, I am designing and implementing structured data systems within eBay, specifically eBay's product catalog system. I work inter-team to develop innovative solutions that meet market needs with respect to functionality, performance, scalability, reliability, realistic implementation schedules, and adherence to development goals and principles. Part of my duties are to estimate engineering effort, plan implementation, and rollout system changes. I design, code and test major features, as well as work jointly with other team members to deliver complex changes. The work is done in Perl and Java using SOA, Unix tools, Eclipse, and Oracle SQL. Owner, Bartlett Software, Inc. In 2002 I incorporated my own company (sole owner, privately held) to provide software development and consulting services on contract basis to various clients. Following is a summary of the clients and the nature of work performed. Innovative School Solutions, Inc. (www.ischoolsolutions.com) 2/2006 – 6/2009 I perform software and database development, maintenance, and IT services for their set of Linux and FreeBSD servers running Zope and PostgreSQL. Skills used include Python, Zope, HTML, SQL, Apache, and Unix shell scripting. Voxify, Inc. (www.voxify.com) 2/2006 – 5/2006 I developed software for various subsystems of their high-transaction volume automated voice call agent platform. The skills I used included Perl (with DBI), Java, JDBC, MySQL, and Ant on Linux and FreeBSD. Change Companion, LLC (www.changecompanion.com) 7/2002 – 2/2006 Initially hired to analyze and critique their 400K lines-of-code Java-based software, I became their Chief Architect to redesign and replace it with Zope/CMF and eventually about 50K lines-of-code of custom Python. The skills I used included Java, JSP, Java servlets, Python, Zope/CMF, HTML, XML, SSL, SMTP, Oracle, MySQL, and Unix shell scripting on Linux and FreeBSD. Page 1 of 3 MobilePoint (www.mobilepoint.com) 6/2002 – 10/2002 I worked on parts of the MobilePoint OS, which is written in object-oriented C. My work primarily involved performance analysis and tuning, and writing a 2D graphics driver using the Windows GDI API. SpeedAnywhere (www.speedanywhere.com) 5/2002 - 11/2002 I automated their various Internet-based business process, using Python, HTTP, HTML, XML, SMTP, MIME, SSL, and QuickBase. IQ Commerce Corp. 4/2000 - 1/2002 Principal Software Architect 10/1997 - 4/2000 Vice President, Research and Development As the first employee of this CRM solutions provider, my responsibilities were to staff and manage the Engineering and Quality Assurance groups, and to design and prototype the company's Internet-based service (was www.iq.com ). While forming a department of 40 people, I established development processes and procedures, mentored individuals, team leads and directors, and was R&D's representative at the Executive Staff level. On the technical side I made innumerable design decisions (including platform choices and make vs. buy) and contributed hands-on to all areas of software development to a code base that would become some 480K lines of Java and JSP. In April of '00 I promoted the Director of Engineering into my position and elected to move back into an individual contributor role. As Architect, I focused on the performance, scalability, and reliability of the service software, ensuring that the service could handle millions of hits per day from clients such as AOL. Skills Used: Java, Java servlets, JSP, JDBC, SQL, HTML, JavaScript, XML, HTTP, HTTP-RPC, ASP, ADO, FTP, encryption, TCP/IP, sockets, LoadRunner scripting, Unix shell scripting Platform: Windows NT and 2000, SqlServer, Oracle, IIS, JRun, F5 BIG-IP load balancer Tools: Oracle JDeveloper (Borland JBuilder), LoadRunner, OptimizeIt, CVS The Daily Rocket Company 2/1996 - 8/1997 Chief Technology Officer I was one of two cofounders of a startup whose client/server product "pushed" financial content to consumer's machines over the Internet (was www.dailyrocket.com ). I designed, implemented, and enhanced much of the product myself from scratch. As the engineering manager, I staffed and managed a small team of developers. Skills Used: C, C++, MFC, ADO, SQL, HTML, HTTP, HTTP-RPC, ASP, COM, FTP, TCP/IP, sockets, Unix shell scripting Platform: Windows, SqlServer, IIS, ISAPI Tools: Visual C++, Perforce P4 Under Contract to Versit 8/1995 - 2/1996 Lead developer on the Versit consortium's effort to promote their Personal Data Interchange specification, now known as vCard. I worked closely with the specification's author and wrote and distributed all of the sample code in the SDK. Skills Used: C++, MFC, serial and IR communication Platform: Windows Page 2 of 3 Tools: Visual C++, Visual SourceSafe NeXT Computer, Inc. 12/1993 - 8/1995 Manager, Workspace Applications I was responsible for the applications and frameworks that comprised the NeXTSTEP workspace. This software included the desktop itself, the File Browser, the Email viewer, user preferences, and the system-wide services framework utilized by all applications. I was instrumental in the stewardship of my area's vision, negotiating UI, features, requirements, and schedule with many other stakeholders. I managed three engineers as well as actively contributed to the design and development of the software. For example, I made major enhancements to the File Browser and, with one other engineer, rewrote the Email viewer entirely. Skills Used: Objective-C, MIME, Unix shell scripting Platform: NeXTSTEP / OpenStep, NeXT (Unix) Tools: NeXT's internal tools for developing, debugging, source code versioning, and bug tracking GO Corporation 12/1992 - 11/1993 Team Leader, Windows & Graphics 8/1989 - 12/1992 Senior Software Engineer Co-developed the UI toolkit for the PenPoint OS. This set of around 60 classes provided developers with all of the user interface gadgets necessary for fully featured applications. Accordingly, I coordinated the needs and interdependencies of consumers, third party and internal developers, and UI designers as the product evolved. Later I became the line manager for this team. Skills Used: object-oriented C (GO's run-time class system with inheritance, polymorphism, etc.) Platform: Windows, PenPoint Tools: makefiles, symbolic debugger, memory usage checker, source code control, bug tracking Xerox Corporation 6/1984 - 7/1989 Senior Member of the Programming Staff I worked on the Viewpoint document editor for use in desktop publishing on the Xerox Professional Workstation (the descendant of the Star). The editor handled the display and editing of text, graphics, tables, equations, and charts all in a WYSIWYG view of every document. Skills Used: Mesa (object-oriented, multiple inheritance) Platform: Xerox workstations Tools: Xerox's internal tools for developing, debugging, source code versioning, and bug tracking Certification Sun Certified ProgrammerTM for Java 2 Platform April, 2002 Education University of California at Irvine B.S., Information and Computer Science, 1984 Professional Associations Professional Member, ACM (Association for Computing Machinery) Page 3 of 3