DOC - Bartlett Software

advertisement
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
Download