Andrew J. Peterson

NDP Software• 4104 - 24th Street, #202 • San Francisco, CA 94114
Land 415.508.6059 • Mobile 415.377.3998 • Email: andy@ndpsoftware.com

Goal

Challenging technical projects, where I can use my broad software experience to build great, user-focused software.

Overview

Work Experience

November 2007 - November 2010 Carbon Five • Team LeadCarbonFive delivers software through an iterative and collaborative consulting process. The focus is mainly open source Java and Ruby on Rails platforms. I was responsible for client, project and technical management. Tools: Ericsson SMS, GTalk, Hoptoad, jQuery, regex (regular expressions), Ruby on Rails, SendGrid, Site Uptime, Sphinx, YUI Platforms, Technologies & Protocols: Ajax, Csster (creator), Engine Yard Cloud, Erector (contributor), Geocoding, Git, Heroku, jQuery, jQuery plugins, Jasmine, JSON, Mongrel, Nginx, RSpec, SVN, Selenium, SMS, SMTP, Struts 2, Ubuntu, Unit Testing, Verisign Credit Card Processing, Webrat, WebServices Software: Atlassian Bamboo, Atlassian Confluence, Atlassian JIRA, EasyMock, Git, GitX, Github, Google Maps API, Hibernate, Hibernate 3, HttpUnit, IntelliJ IDEA, JBoss, JDOM, JUnit, JWebUnit, Jakarta Commons Java utilities, Lucene, MPW, Maven, MySQL, Pivotal Tracker, Postgres, Projector, Prototype, RubyMine, Sphinx, Spring Framework, Spring MVC, Struts 2, Subversion (SVN), TeamCity, Unix, YUI, source code control
Primary projects:
The National Campaign Build the nation's first birth control support network, in partnership with IDEO.
Power Reviews PowerReviews Express: created and integrated self-service portal for small businesses online shopping product review service.
goBalto.com goBalto.com: Pharmaceutical manufacturing industry directory, network and web application.
Aardvark Innovative social search product (purchased by Google, IM integration).
Tracker Story Maps "Story Map" visualization of Pivotal Tracker stories, created as a shared project for developers with "down time." Created initial spike and coached junior developers.
October 2006 - November 2007TeeBeeDee • Principal Software ArchitectSocial and information networking platform for Baby Boomers.Tools: Ant, Apache Commons, Atlassian Bamboo, Atlassian Confluence, Atlassian JIRA, Compass, DWR, EasyMock, Hibernate 3, IntelliJ IDEA, JSAN, JUnit, Lucene, MochiKit, MySQL, Photoshop, Prototype, Scriptaculous, Solr, Spring Framework, Spring MVC, YUI-2.3.0Platforms, Technologies & Protocols: Ajax, Apache Jakarta Tomcat, Apache web server, JSON, JSP Documents, Linux, MacOS X, SVN, Search Engines, Windows XP
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. Tools: Ant, Apache Commons, Clover code coverage, Cruise Control, Google Maps API, Hibernate, Hibernate 3, IntelliJ IDEA, JUnit, Lucene, Maven, MySQL, Photoshop, Sitemesh, Spring Framework, Spring MVCPlatforms, Technologies & Protocols: Ajax, Apache Jakarta Tomcat, Apache web server, CGI, CVS, FreeBSD, Geocoding, JSP Documents, Java WebStart, MacOS X, Swing, Verisign Credit Card Processing, WebServices, Windows 2000, Windows XP
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.
2006-2011 Developer, Mini-Projects I developed numerous "side projects" during this period. These range in content, but most are small-- testing the limits of what value can be created with extremely limited development time. Here are a few:
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. Tools: Ant, Apache Jakarta Tomcat, BBEdit, CVS, Cruise Control, Eclipse, Hibernate, HttpUnit, IntelliJ IDEA, JBoss, JDOM, JUnit, JWebUnit, Jakarta Commons Java utilities, Macker, MySQL, Spring Framework, Struts, source code controlPlatforms, Technologies & Protocols: J2SE, JDBC, JSP Taglibs, Java EE, MacOS X, SDKs, Servlets, TCP/IP, ULC (Canoo), UML, Unit Testing, Unix
2002-present Partner/Developer • SpinGuys Provides quick to set up and easy-to-manage political campaign web sites to local and state-wide candidates. Tools: Apache, BBEdit, Eclipse, FTP, MacroMedia Fireworks, MySQL, Unix
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. Tools: Apache, BBEdit, Eclipse, FTP, MacroMedia Fireworks, MySQLPlatforms, Technologies & Protocols: Unix
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. Tools: BBEdit, CVS, MacroMedia FireworksPlatforms, Technologies & Protocols: MacOS X, Unix
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. Tools: Apache, BBEdit, Eclipse, FTP, MacroMedia Fireworks, MySQLPlatforms, Technologies & Protocols: Unix
2001-2002 Programming Consultant • Liquid Audio Developed from the ground up a flexible, usable "Music Organizer" component for a secure digital music player. Tools: Metrowerks CodeWarrior, Perforce, PowerPlant, source code controlPlatforms, Technologies & Protocols: MacOS, SDKs
2000 Database Consultant • Rosenberg for Congress Database design and implementation for a campaign donation tracking system, used throughout a campaign for U.S. Congress. Tools: FileMaker Pro, source code control
1999 Database Consultant • Site of Care Systems Database design and implementation of a bug-tracking system for a medical software developer. Tools: FileMaker Pro
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. Tools: CVS, Metrowerks CodeWarrior, source code controlPlatforms, Technologies & Protocols: MacOS X
2003 - 2005 Expert Witness Consultant • Latham-Watkins LLC, Menlo Park Sony Electronics TiVo Provide expert witness research, reports and testimony.
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. Tools: CVS, Doxygen, source code controlPlatforms, Technologies & Protocols: JDBC
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. Tools: CVS, Doxygen, Metrowerks CodeWarrior, source code controlPlatforms, Technologies & Protocols: DOS, MacOS X, Microsoft Windows
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. Tools: MySQLPlatforms, Technologies & Protocols: Apache, CGI, DOS, IIS, ODBC, TCP/IP, Unix
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. Tools: Eudora Pro, FileMaker Pro, MPW, MacApp, Metrowerks CodeWarrior, Projector, source code controlPlatforms, Technologies & Protocols: MacOS, Microsoft Windows, SDKs, TCP/IP
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 Contractor
Free-lance Technical Writer • Software Ventures Corporation (SVC) Wrote 80-page user's manual on TCP/IP. Tools: Microsoft Word
Software Developer • Software Ventures Corporation (SVC) Developed installation tools. Tools: MPWPlatforms, Technologies & Protocols: TCP/IP
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. Tools: Apple Projector, MPW, MacAppPlatforms, Technologies & Protocols: MacOS, SDKs
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. Tools: MPW, Symantec compilersPlatforms, Technologies & Protocols: DOS, MacOS, Microsoft Windows
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. Tools: Lightspeed C compilerPlatforms, Technologies & Protocols: MacOS
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. Platforms, Technologies & Protocols: DOS, MacOS
Summer 1985 Applied Navigational Devices • Programmer Supplies hardware for mapping underground oil exploration sites. Maintained quality assurance software. Platforms, Technologies & Protocols: DOS
1984 - 1985 University of Oregon Institute of Molecular Biology • Programmer Wrote plotting and spectrometer data-acquisition programs. Platforms, Technologies & Protocols: DOS
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.