Peter Cowan · Software Developer
I am the lead developer at a small nonprofit dedicated to using the Internet to generate new charitable giving. I have 10 years of experience
development processes, interacting with clients to define project requirements and collaborating with the business team on long term goals.
I am looking for a position working within the web development stack in or around downtown Portland. I would prefer an agile oriented development environment,
but the aspects I care about most are continuous integration, smaller teams, and short release cycles.
2000 - present
San Francisco, CA
- Designed and developed in house stored value and recurring billing systems with vendor support.
- Created a RESTful interface for in house use, using JAX-RS with Jersey, for search searching ~1.8 million
- Abstracting out a common interface for serveral different 3rd party payment services, then added a radically simplified
Gateway interface for general use.
- Created a SOAP client with Apache Axis for a Rewards Points Redemption service in partnership with a major credit card company.
- Organized and managed a version control and release work flow using Subversion.
Build scripts in Ant, command line processes in bash, and some legacy perl.
- Database schema design, and normalization with Postgresql.
- Refactored a single servlet webapp into a framework based on the Model-View-Controller pattern.
- Worked closely with clients, ranging from tiny nonprofits to large international companies, to add features to and customize
existing products to meet their needs.
2005 - 2006
- Modified a custom CMS written for a specific client in PHP for more general use.
San Francisco, CA
- Built an ad impression and click trough tracking system for an ASP/Visual Basic web app called gayjet.com
(now TAG Approved).
- Android app to track location in real time and check-in to places.
- Android app allowing a user to create ringtones using the Text-to-Speech library.
- Java in Jails; a simplified library for creating, displaying and validating
forms bound to Objects, similar to how they are handled in ruby on rails.
- Java development using J2SE, J2EE, Servlets, JSP, JSTL plus custom tag development, JDBC, JPA, JUnit, Hibernate, JSR 303, Threads, Reflection, Generics
- XML using JAXB, XStream, XPath, Sax. DOM, Castor
- Web Service client and server development using SOAP, Axis, WSDLs, REST with JAX-RS
- Server configuration Tomcat, Apache, Jersey
- Strong understanding of object-oriented design principles and patterns, refactoring, test driven development, and continuous integration.
- OS experience: Linux (prefer debian), Mac OSX, Windows
- Tools: git, svn, Maven, Ant, IntelliJ, Eclipse, vim
- Databases : Postgresql, mysql, Sql Server. Experience normalizing database design, and performance tuning.
- Payment systems: Cybersource, Verisign, PayPal.
- Other languages and frameworks used for small tasks, and side projects: bash, Android, Ruby, Scala
- Past professional experience with perl, php, visual basic/vb script,
1994 - 1995
University of California Santa Cruz
Santa Cruz, CA
Studied economics and linguistics
Studied philosophy, computer science and math