Principal Software Developer with 22 years of experience in the technology industry. Proven ability to forecast, lead, and deliver software projects. Expertise in a variety of technologies, including Python, Java, Typescript, Ruby on Rails, React, and AWS. Extensive experience designing and implementing web APIs. Knowledgeable in geospatial data science and remote sensing. (GIS master's degree expected October 2023.)
Oct 2015 - Present
As a Principal Software Developer, I am given large, challenging, and often high-risk projects. Working independently and on small project teams, I have delivered many of the key features for ExecOnline's online learning platform.
Technologies: React with functional TypeScript, Ruby, Python, AWS.
Techniques: Distributed agile, Kanban, no-estimation forecasting
Successes: I instigated and piloted the use of ActionableAgile for no-estimation project forecasting, which was adopted by the organization. I was a key contributor to shaping the client-side architecture, the details of which can be seen at https://cooperts.io. I served on the company's technology leadership team, helping drive team and organizational improvements.
Oct 2013 - Oct 2015 · 2 yrs 1 mo
At FLA I was hired to build out a new development team and office to take on some of the biggest challenges facing the company at that time. Our team grew from two people to 10, delivered on projects, and brought new techniques and ways of thinking to the organization.
Technologies: Ruby, RabbitMQ, AWS
Techniques: Kanban, lean startup, Drive-inspired leadership and team-building
Successes: Using ideas from lean-startup, delivered the first consumer-facing, agentless point-of-sale system, conducting multiple experiments on streamlining the sales experience.
Apr 2012 - Oct 2013 · 1 yr 7 mos
At Jama, I was recruited to come join a new, small team that was building out the next generation of the company's products. We were a team of four, working independently from the rest of the development organization, doing rapid prototyping and experimentation. Our work was eventually folded back into the core product, which led to new challenges of merging multiple server- and client-side architectures into the same product.
Technologies: Java, Jersey RESTful services, Backbone.js, Ext JS, jQuery, server- and client-side logicless templates, Ruby on Rails.
Techniques: Kanban, rapid prototyping, continuous integration
Successes: Helped accelerate the learning and decision-making that led to our team's work being fed back into the core product.
Jun 2011 - Mar 2012 · 10 mos
Analog Analytics was a start-up that developed a white-label platform for daily deals. I joined a mature team as an individual contributor. This was my first experience doing continuous delivery. We would deploy to production many times a day using Chef code that developers themselves helped develop and maintain.
Technologies: Ruby on Rails, Chef.
Techniques: Pair programming, continuous integration and deployment, dev-ops style collaboration.
Successes: Integrated quickly into an existing team, delivering software on day one, building out several key new features, and serving as lead on some important customer-driven projects.
Jan 2008 - Jun 2011 · 3 yrs 6 mos
At CSI, I was the first full-time development hire, coming over from Liberty Mutual with my manager to build a new team and start work on a new project. We were to build an open source, disease surveillance application. Initially the application was for the public health department of the state of Utah, with the hope that a community would grow around it and be used by other health departments and the CDC. I worked closely with the VP of Engineering and Product to build out the development team that would work with the subject matter experts in Utah to accomplish these goals. In the first year, we built a highly effective team and replaced Utah's existing surveillance application. In the years that followed, we continued to iterate, growing the application into a powerful tool in the fight to prevent disease.
Technologies: Ruby on Rails
Techniques: Distributed agile, continuous integration, open-source devlopment/community maintenance
Successes: Building a great team and product that did some good for the world
Jul 2005 - Jan 2008 · 2 yrs 7 mos
I started at Liberty Mutual in Portland when IT was still under Liberty Northwest. In those days, I was an individual contributor on a web-based, auto-insurance application whose backend was a staged, event-driven system. I was developing services 'on the bus' and fixing scalability issues with the pre-existing ORM implementation.
Eventually, Liberty Northwest IT was folded into Liberty Mutual, and I was asked to join a small team that reported directly into the CTO of Liberty's agency markets business unit. Our charter was to help establish the future application architecture for Liberty Mutual, bring agile and lean software development techniques to the rest of the company, and bring open-source software usage and development in the company mainstream.
On this new team I was involved in rapid prototyping, architectural spikes, and product evaluations. On any given day we could be called upon by the CTO to stop what we were doing to address some business inefficiency. We were also asked to take trips out to other parts of the organization to present on agile and lean development techniques.
Technologies: Java, Ruby on Rails, Adobe Flex, JavaSpaces, Spring, Hibernate, ESB, SonicMQ
Techniques: Test-driven development, lean, agile
Successes: On the Liberty Northwest team, a re-write of an ORM implementation drastically improved performance of a key system. On the Liberty Mutual team, one of our greatest successes was to help stop a major project that was failing.
Tech: Java, Oracle DBMS
Techniques: XP, Pair programming
Mar 2005 - Jul 2005 · 5 mos
Aug 2002 - Feb 2005 · 2 yrs 7 mos
Tech: PHP, Java, PostgreSQL, Oracle (DBMS, App server, Portal Server), HTML, JavaScript, CSS
Feb 2002 - Aug 2002 · 7 mos
Tech: PHP, MySQL, HTML, JavaScript, CSS
Apr 2000 - Sep 2001 · 1 yr 6 mos
Tech: Tcl, SQL, HTML, JavaScript, CSS
Mar 1999 - Mar 2000 · 1 yr 1 mo
Tech: XML/XSLT, HTML, JavaScript, CSS