Summary

An accomplished and dedicated software application developer currently specializing in reactive JavaScript technologies (Redux, React, RxJs, Angular), full-stack development (Java, JavaScript, Python or PHP on the server), with a desire to move into mobile development as well.

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.

Enjoys full stack development, using JavaScript on the front-end and a variety of languages on the server, including Java, JavaScript and Python.

Follows a test-first methodology, in which basic sets of tests are created prior to writing code.

Skill Highlights

  • Languages: JavaScript, Java (web services), Python, Bash (Linux shell), PHP, SQL
  • 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)

Experience

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
  • Inherited an existing web application that used Struts, JavaScript, and MySQL, and was able to see it through to production release; During this project I focused on optimization of memory and bandwidth use to make the application more responsive
  • 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
  • Spearheaded a new front end for that troubled project that would eliminate support costs and downtime issues; The new solution involved using Struts/JSP and JavaScript (mostly jQuery), focusing on open technologies such as Apache httpd, Apache Tomcat and MySQL instead of the closed technologies used by the prior front end

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.

Education

Recent Training

Egghead.io

  • Asynchronous Programming
  • Introduction to Reactive Programming
  • Getting Started With Redux
  • React Fundamentals

Lynda.com

  • Java Essential Training, license B004AF
  • Java Advanced Training, license ED487B

Formal Education

California State University, Chico

B.S., Computer Science