An extensive background including full end-to-end software lifecycle experience, including QA, maintenance development, software design (including greenfield projects), optimization, and build management/deploy support.
Follows a test-first methodology, in which basic sets of tests are created prior to writing code.
- Frameworks: React, Redux, Angular 1.x, Backbone.js, jQuery
- Methodologies: Agile/Scrum, Object-oriented development, Test first, Functional programming
- Servers: Nginx, Apache httpd, Apache Tomcat
- OS use: MacOS X, Linux (Ubuntu), Windows
- Databases: MySQL, MongoDB, SQLite
- Tools: WebStorm, PyCharm, IntelliJ IDEA, XCode, Karma, Mocha, Chai, PhantomJS, Git (Bitbucket and GitHub)
Pearson Learning Systems, Folsom, CA April, 2016 - present
Work in progress
Clear Capital, Roseville, CA July, 2013 – February, 2016
Senior developer and team lead for a web application that performs quality assurance analytics on submitted appraisals.
- Started a proof-of-concept next-generation reactive application using React, Redux, and Sock.JS
- Developed a Google Maps-based visual display of comparable appraisals near the property being reviewed
- Created an HTML-based version of the quality assurance check of a given property’s appraisal
- Had oversight of builds and the deploy process; Developed and managed build scripts using Grunt that were executed by Jenkins when a change was submitted; coordinated the release of the web application portion of the deployment with the backend team and QA
- Both projects were served by Nginx and interfaced with Java-based web services
- Used and helped maintain virtualization tools (Vagrant, VMWare, VirtualBox) to create a fully self-contained development environment
ALLDATA, Elk Grove, CA February, 2009 – July, 2013
Solutions Architect of a web-based repository of automobile repair data
- Was the initial architect for a next-generation version of the same web application using client-side technologies such as Backbone and Require, and interfaced with a MongoDB cluster
- Both projects used Apache httpd and Apache Tomcat.
Administrative Services, Inc., Sacramento, CA June, 2004 – May, 2009
Lead Developer and Software Architect for a suite of pension management web applications.
- Inherited a troubled J2EE project and was able to get to stability for production use
Syndeo Corporation, Campbell, CA
Senior Developer, Team Lead, and Development Manager for VoIP switch administrative user interfaces.
- Designed and developed a PalmOS conduit (synchronization application) that synchronized the Palm device address book with the VoIP switch administrative address book, and optionally a three-way sync with a user’s contacts in Microsoft Outlook.
- Developed an administrative interface for the VoIP switch using plain JSP and the Netscape iPlanet server
The Windward Group, Los Gatos, CA
Software developer, project lead, and software architect specializing in MacOS, Palm, Windows, and Web development.
- Project lead for research into the wireless technologies emerging at the time, mostly in conjunction with PalmOS devices
- Lead developer for the Macintosh versions of FedEx Ship and Palm Desktop (Contact and Calendar organizer for the PDA)
Apple Computer, Cupertino, CA
Software Engineer in the Development Tools Group, focused on Macintosh development tools.
- Asynchronous Programming
- Introduction to Reactive Programming
- Getting Started With Redux
- React Fundamentals
- Java Essential Training, license B004AF
- Java Advanced Training, license ED487B
California State University, Chico
B.S., Computer Science