Peter Cowan · Software Developer
Summary
Enthusiastic full stack software engineer with 15 plus years of experience developing high traffic web applications. I'm an independent self-starter and a team player who enjoys collaboration. I am a creative thinker, always eager to learn and comfortable jumping into projects with new technologies.
Technical Expertise
- Java 8, J2EE, Servlets, JPA2, Hibernate, Guice, Jackson, JAX-RS/Jersey, SOAP, Axis.
- Object-oriented design principles and patterns,
refactoring, TDD.
- Javascript, React/Redux/ES6/Node, webpack, Babel, yarn, Backbone, JQuery, HTML/CSS, Sass, Bootstrap.
- Tomcat, Apache, Jersey, Jenkins, AWS/EC2,
Git, Svn, Maven, Ant, IntelliJ, vim, linux, Bash
- Postgresql, mysql. Normalization and query optimization.
Professional Experience
2016 - 2018
London, UK (Remote)
Senior Developer
- Decommissioned a legacy app moving admin functions to a Service Oriented Architecture using Jersey/JAX-RS on the backend a hybrid of JSP and Backbone.js on the client side.
- Rebuilt core site features from scratch as an isomorphic/universal React/Redux/Node.js project.
- Developed a toolkit of shared components. This included everything from CSS styles (using Sass) to React components, and Redux middleware.
2000 - 2016
San Francisco, CA
Lead Developer
- Rebuilt the core features of the main web application moving from an MVC architecture to a service oriented architecture using JAX-RS/Jersey and React/Redux.
- Updated the persistence layer of our web app from Castor to JPA2, using Hibernate. This was a long term fork of the codebase, and involved large changes to the database schema, query optimization and changes to the model layer.
- Created a SOAP client with Apache Axis for a points redemption service in partnership with a major credit card company, integrating it into the above mentioned payment interface. The redemption feature went on to bring in over $20 million in charitable donations.
- Designed and developed stored value and recurring billing systems, migrating existing data from a 3rd party service,
adding support for vendors so we could market the services
ourselves. The projects paid for themselves within the
year via the reduction in fees, no longer dealing with 3rd
party integration issues, and increased vendor revenue.
- Merged two diverging forks of a code base, each using a different 3rd party payment service, by abstracting out a common interface and putting the implementation behind a simplified gateway.
- Created a RESTful interface for in house use, using JAX-RS with Jersey, for search searching ~2 million nonprofit records.
- Worked closely with clients, ranging from small nonprofits to multinational corporations, to add features to and customize existing products to meet their needs.
Personal Projects
- Java in Jails: a Java library for creating, displaying and validating
forms similar to how they are handled in ruby on rails.
- Master File: the beginnings of a Ruby library to download the IRS's 501c(3) nonprofits master file, and create a searchable database.
- GitHub: github.com/petercowan
- Experience with Android, Scala, perl, Php, .NET.
Education
University of California Santa Cruz
Santa Cruz, CA
Studied economics and linguistics
Cabrillo College
Aptos, CA
Studied philosophy, computer science and math