Andrew J. Peterson
NDP Software•
4104 - 24th Street, #202
•
San Francisco, CA 94114
Land
415.648.5434
• Mobile
415.377.3998
• Email:
ndp@mac.com
Goal
Lead a successful team that produces great software products, using my techical leadership, user-focus and management.
Overview
-
10 years leading software development teams.
-
15 years delivering commercial and vertical market software.
-
Expert in the full lifecycle of software development, software methodologies, software architecture, software engineering, and usability.
-
Excellent written and verbal communication skills.
-
Versatile and pro-active leader, team-player and problem-solver. Capable of working with tight deadlines. Fast learner.
-
Proven track record of shipping successful, usable software under pressure.
-
Experienced collaborator in defining product vision and strategy.
-
Technical expertise in popular development tools, web technologies, languages, servers, and applications.
- Software Designer:
Agile development,
Analysis,
Data Presentation,
Database,
Design Patterns,
Extreme Programming,
Human Interface Design,
Object-oriented Design (OOD),
Object-oriented Programming (OOP),
Pair programming,
Prototyping,
Refactoring,
Software Architecture,
Test-driven development,
UML,
User Testing,
User stories,
Writing
Work Experience
October 2006 - presentTeeBeeDee •
Principal Software ArchitectSocial and information networking platform for Baby Boomers.Architect
Set technical strategy and advocated internal development projects. Provided technical
leadership and mentoring.
Established standard development patterns to improve maintainability and development velocity.
Created tools to reduce code complexity.
Software Developer
Designed and built the "kudos", a peer rating system; member profile pages; "Invite a Friend"; Q&A; "Real-life Scripts", and various parts of other functionality. Worked at all tiers: DB schemas, persistence mappings, services, web controllers, and views.
Scrum Master
Ran daily stand-up meetings, iteration check-in meetings, engineering estimations, and iteration retrospectives.
Advocated agile development and worked with product development to implement an agile process.
March 2005 - October 2006
GreatSchools.net
•
Software Manager, Senior Software Architect
The premier guide to K-12 school information, the non-profit GreatSchools provides
resources for parents to improve the U.S. education system.
Architect
Defined the technology stack and designed architecture to transition a data-intensive, high-traffic web site (max 2-3k page view per minute) from Perl to Java. Developed transition strategy and completed initial implementation.
Software Manager
Implementing an XP/agile-based methodology including test-driven development, pair programming, code reviews, user stories and "planning poker." Hired and managed staff, and coordinated contractors as needed. Coordinated releases and development schedule.
Senior Software Developer Implemented numerous web pages, from the CSS and Javascript down to the database schema. Prototyped new product ideas, especially mapping and Ajax-based UIs.
Added secure Verisign credit card processing. Delivered user-friendly Swing-based data loading tool to internal team.
March 1999 - present
NDP Software
•
Principal
NDP Software creates high-quality software products and provides consulting services for enterprise, commercial and non-profit clients. Services range from web development
to software development along with consulting.
July 2002 - March 2005
Java Architect, Presentation Tier
•
Navis LLC
Led web tier development of company's Java EE platform. Defined, tested, documented, taught and sold the overall approach to the team and other teams. Built all framework components, including site map, navigation system, data dictionary, taglibs, ui "widgets" and business tier API. Used some aspects of extreme programming, notably unit testing and continuous integration.
2002-present
Partner/Developer
•
SpinGuys
Provides quick to set up and easy-to-manage political campaign web sites to local and state-wide candidates.
2000-present
Web Site Developer
•
AIDA
Inter-American Association for Environmental Defence
Sole developer of a web site for the non-profit. Initially included hundreds of pages of content, but now is migrated to a custom, bi-lingual content management system. Site has instigated social change throughout the Americas.
October - November 2002
User Interface Consultant, M&R
•
Navis LLC
Built prototype of new product to improve product design and work out ambiguities in the specifications. Worked with product managers, designers and graphic artist to create frameworks for current and future applications.
2001-present
Web Project Management Consultant
•
IDEX
International Development Exchange is a non-profit partnering with small, local, non-profits around the world to facilitate grass-roots development.
Provided project management consulting throughout the web site production, and then became the "web guy." Created a user-friendly web content management system. Site now helps bring in thousands of dollars in donations.
2001-2002
Programming Consultant
•
Liquid Audio
Developed from the ground up a flexible, usable "Music Organizer" component for a secure digital music player.
2000
Database Consultant
•
Rosenberg for Congress
Database design and implementation for a campaign donation tracking system, used throughout a campaign for U.S. Congress.
1999
Database Consultant
•
Site of Care Systems
Database design and implementation of a bug-tracking system for a medical software developer.
2000-2002
Open Source Developer
•
MacCVS Pro
Added AppleScript scripting capabilities to MacCVS Pro. Designed and implemented an enhanced "history" view, which provides an easy way to explore the history of a file, its tags and branches.
February 2002 - October 2002
Version Control Consultant
•
Navis LLC
Facilitated migration of an Oracle-forms based product from an un-versioned development process to a scheduled, versioned release process. Performed data gathering through extensive interviews. Recommended technical direction and best practices. Created all necessary technical tools and materials. Trained all stakeholders. Integrated in-house change management system with CVS, providing accurate mapping of code changes to bugs and enhancements. Designed a CVS front-end system. Integrated CVS with an in-house bug tracking system.
January - October 2001
Development Tools Consultant
•
Navis LLC
CVS Conversion. Convert large codebase (1000 files) with dozens of active versions from MPW Projector to CVS source code control.
Created reliable and easy-to-use build system for a complex, cross-platform product. Facilitate conversion of large codebase from Object Pascal to C++. Provided coding style guidelines to faciliate C++ migration.
2001 - 2002
City College of San Francisco
•
Instructor of web technologies
Taught CIS 135 series, which includes in-depth HTML, XHTML, and CSS; covered briefly Javascript, Java applets, CGI, PERL, XML, PHP, ASP, security and legal issues. Prepared course outline and homework assignments and delivered lectures. Graded student work.
6/1992 - 2/1999
Navis LLC
•
Senior Software Engineer and Software Development Manager
The leading supplier of software solutions for container terminals, shipping ports and lines, and distribution centers.
I helped Navis Corporation grow from just a few clients when I joined (employee number eleven) to the world-wide market leader. I focused on the SPARCS product, a real-time, decision-support, client/server system that manages over 100 containership terminals around the world. I served many varied roles (often simultaneously) while at Navis.
Software Development Manager (shared)
I built the development team, helped set the strategic direction of the company, and managed 4-10 major projects each year (and countless minor projects). I advocated for, and helped institute strategic planning, source code control, a coding style guide, task tracking and scheduling systems. Coordinated weekly technical meetings, project plans and roadmap.
Senior Software Engineer
Designed, wrote, installed, maintained, and supported two of the software products with a team of five to ten engineers. I created several key features of the product. I performed successful on-site installations and upgrades around the world. With team members, ported from 68k to PPC (MacOS), and later to WindowsNT. I solved y2k problems.
Tools Manager
I managed a source code system that supported over a hundred releases a year, with people working worldwide. I created a build system and trained a non-technical staff to use it while travelling.
QA Manager
I created a QA department and established a bug tracking and release process.
3/1992 - 1/1993
Self-employed
•
Independent ContractorFree-lance Technical Writer
•
Software Ventures Corporation (SVC)
Wrote 80-page user's manual on TCP/IP.
Software Developer
•
Software Ventures Corporation (SVC)
Developed installation tools.
1/1990 - 1/1992
Farallon
Netopia
•
Senior Software Engineer Team Leader
Farallon Computing was a leading supplier of MacOS software and hardware.
Led a six-engineer team in the creation of the top-selling SoundEdit Pro / SoundEdit 16 (MacroMedia). To improve software quality, I founded (with three co-workers) the User Interface Task Force, which began user testing company-wide.
8/1988 - 12/1989
Software Publishing Corporation
•
Software Engineer
Software Publishing Corporation is a leading supplier of commercial PC software.
Designed and coded three cross-platform projects: a high-end word processor, a database and a presentation graphics product (Harvard Graphics). I analysed and recommended potential product acquisitions. I advocated quality, initiated internal documentation requirements and set programming style guidelines.
7/1986 - 9/1986, 7/1987 - 8/1988
Mansfield Systems, Inc.
• Software Engineer
As employee number four at this start-up company, I created a technical desktop publishing application for MacOS. I started as a summer intern and grew to a primary developer of the word processor.
9/1985 - 6/1987
University of Oregon Computing Center
•
Student Programmer
The Computing Center provides computer services to the campus community.
I administrated, installed, and maintained labs serving 800 students per term. I maintained libraries and organized electronic conferences, planned and taught classes, solved problems, tutored students and sold computers.
Summer 1985
Applied Navigational Devices
• Programmer
Supplies hardware for mapping underground oil exploration sites.
Maintained quality assurance software.
1984 - 1985
University of Oregon Institute of Molecular Biology
• Programmer
Wrote plotting and spectrometer data-acquisition programs.
1981 - 1983
Quality Educational Designs
• Programmer
Ported more than 50 small educational programs from the Apple II to the Commodore PET. These programs sold successfully for years on the Q.E.D. label.
Education
University of Oregon
B.A. in Computer Science, 1987
Dean's List, Phi Beta Kappa, Presidential Scholar, Honors College, Student Senator
UC Berkeley Extension
Technical Marketing
Community
Streetside Stories
President and Member of Board of Directors
2000 - 2005
Streetside Stories builds literacy, critical thinking, and community among middle school students through volunteer-led storytelling literacy arts programs in Bay Area schools. Initiated and oversaw transition of board to a committee structure. Hired and managed Executive Director.
Summary
Tools:
Ant,
Apache,
Apache Commons,
Apache Jakarta Tomcat,
Apple Projector,
Atlassian Bamboo,
Atlassian Confluence,
Atlassian JIRA,
BBEdit,
CVS,
Clover code coverage,
Compass,
Cruise Control,
DWR,
Doxygen,
EasyMock,
Eclipse,
Eudora Pro,
FTP,
FileMaker Pro,
Google Maps API,
Hibernate,
Hibernate 3,
HttpUnit,
IntelliJ IDEA,
JBoss,
JDOM,
JSAN,
JUnit,
JWebUnit,
Jakarta Commons Java utilities,
Lightspeed C compiler,
Lucene,
MPW,
MacApp,
Macker,
MacroMedia Fireworks,
Make,
Maven,
Metrowerks CodeWarrior,
Microsoft Word,
MochiKit,
MooTools,
MySQL,
Perforce,
Photoshop,
PowerPlant,
Projector,
Prototype,
Scriptaculous,
Sitemesh,
Solr,
Spring Framework,
Spring MVC,
Struts,
Symantec compilers,
Unix,
YUI-2.3.0,
source code controlPlatforms, Technologies & Protocols:
Ajax,
Apache,
Apache Jakarta Tomcat,
Apache web server,
CGI,
CVS,
DOS,
FreeBSD,
Geocoding,
IIS,
Internationalization (i18n),
J2SE,
JDBC,
JSON,
JSP Documents,
JSP Taglibs,
Java EE,
Java WebStart,
Linux,
MacOS,
MacOS X,
Microsoft Windows,
ODBC,
SDKs,
SVN,
Search Engines,
Servlets,
Struts,
Swing,
TCP/IP,
ULC (Canoo),
UML,
Unit Testing,
Unix,
Verisign Credit Card Processing,
WebServices,
Windows 2000,
Windows 98,
Windows NT,
Windows XP