Curriculum Vitae

Download

Objective

Seeking a full-stack software developer position within an organization that values and promotes a strong engineering culture; ideally, one that exposes me to large-scale web applications as a member of a development team subscribing to agile and DevOps practices.

Summary

I've worked with small, start-ups and large enterprises as a consultant and staff developer on traditional web application projects and SDLC automation. My experiences span multiple platforms, from Microsoft Windows to Linux using interpreted languages like Ruby, Python, and JavaScript and compiled languages like C#, Go, and Java.

Technical Proficiencies

  • JavaScript
  • Ruby
  • Python
  • C#
  • Java
  • Go
  • Postgresql
  • Docker
  • Unix Shell Scripting
  • Resourceful Web Service Design
  • Rich, JavaScript Application Design
  • Build and Deployment Infrastructure Automation

Experience

Consultant & Applicant Developer

Common Ground International

Denver, Colorado -- September, 2015 - February, 2017

Common Ground International provides training and certification in Spanish-to-English and English-to-Spanish translation. I was subcontracted on this project to develop and manage the web services layer of a SaaS product for certifying medical professional as proficient in medical Spanish. I lead the development efforts for both the web services tier as well as the build and deployment automation (CI/CD).

Core Technologies
  • JavaScript (Node JS)
  • Ruby (specifically ActiveRecord)
  • Bookshelf JS (Object Relational Mapper)
  • Hapi JS (Server SDK)
  • PostgreSQL
  • Docker
Notable Contributions
  • Implemented a scalable web services layer for consumption by both a browser and mobile client.
  • Developed algorithms for constructing and grading randomly generated examinations for both certification and practice.
  • Designed and implemented automated, continuous deployment of both the server and client applications.
  • Developed an ACL-based authorization mechanism based on roles and privileges that leverage JSON web tokens.
  • Developed an ETL for importing Spanish and English terms and associating them through translations and assigning them categories.

Principal Software Engineer

CA Technologies - Agile Management Business Unit

Denver, Colorado -- Auguest, 2015 - Present

CA is one of the largest independent software development corporations in the World. I work in the Agile Business Unit on the CA Agile Central product. CA Agile central is the successor to the Rally SaaS product. My work focuses on maintaining and enhancing the core product with new functionality. My team also develops ancillary developer tooling design to support other software delivery teams at CA.

Core Technologies
  • Java 1.8 (Spring)
  • JavaScript (ES6/ES7 via Bable)
  • Internally developed React-based application framework
  • Clojure
  • Docker
  • UNIX/Linux Shell Scripting
  • Go
  • Ruby
  • VMWare VCenter and VSphere
  • Ansible
  • Packer
Notable Contributions
  • Created a code coverage utility allowing developers to consider code coverage metrics when estimating user stories and evaluating regression risk.
  • Lead team in the development of a new application testing framework design to support integration, end-to-end, and smoke tests.
  • Served as team's technical lead by providing professional mentorship, design insights, and help in eliciting non-functional requirements, gauging scope, and identifying dependencies during backlog grooming sessions.

Senior Software Engineer

Rally Software Development Corp

Denver, Colorado — May, 2015 - August, 2015 (acquisition)

Rally is a leading voice in enterprise-class agile project management. Organizations worldwide use Rally’s solutions to accelerate the pace of innovation to deliver value faster. Our SaaS platform transforms software development lifecycle by aligning software development with strategic business objectives. Rally also provides consulting and training services to help companies innovate, lead, adapt, and deliver.

Core Technologies
  • Java 1.8 (Spring)
  • JavaScript (ES6/ES7 via Bable)
  • Internally developed React-based application framework
  • Clojure
Notable Contributions
  • Refactored Ruby-based GUI tests to support a range of JavaScript frameworks
  • Serve as a team representative on the Rally Architecture Council

Consultant & Automation Engineer

TransFirst via Aspenware Internet Solutions

Broomfield, Colorado — March, 2015 - May, 2015

TransFirst is one of the oldest and largest credit card processors in the United States, processing thousands of transactions per day. Even though they have an extensive, mature infrastructure, they needed the ability to automate the deployment of their software. TransFirst hired us to come in, evaluate their current source code management model and to propose and implement an automated deployment workflow for a handful of their applications. TransFirst complies with the Payment Card Industry Data Security Standard (PCI DSS) which requires our solution to fit within several critical security constraints. Through this process, I am working closely with the principal stakeholders ranging from the product owners, software developers, and members of network and security operations. By the end of this engagement, I provided TransFirst with both a documented, automated release process, but also a path to move towards a more continual delivery model.

Core Technologies
  • Microsoft Release Manager
  • Microsoft PowerShell
Notable Contributions
  • Documented the client's SCM branching and merging models
  • Created a network topology diagram of their QUAT and Test environments
  • Design roll-forward and rollback deployment flows for ASP.NET web applications, common libraries, and standalone executables

Developer

Aspenware Internet Solutions (Snow Sports)

Denver, Colorado — February, 2015 - March, 2015

I was asked by the CEO of the company to provide technical advice and assistance with an internal company project, specifically around the areas of source code management, integration, unit testing, and deployment. This product was marketed to large ski resorts both nationally and internationally. Our team of developers focused on delivering new functionality to customers, and non-functional requirements assumed a lower priority. As the pressure to deliver working software mounted, the team realized they could no longer put off these concerns but lacked resources and experience to address them. I was asked to support the team over a period of weeks to help alleviate these pressures.

Core Technologies
  • ASP.NET
  • Git SCM
  • Java (Android)
  • Jenkins CI Server
  • Microsoft Azure
Notable Contributions
  • Provisioned virtual machines in Microsoft's Azure cloud infrastructure to host application and CI servers
  • Installed and configured a Jenkins build servers to compile and deploy ASP.NET MVC projects, NuGet packages, and Android application packages (APK)
  • Worked with developers to extract shared libraries and components into standalone projects so they could be more easily packaged and distributed (NuGet)

Developer & Accessibility Consultant

National Sports Organization* via Aspenware Internet Solutions

Denver, Colorado — February, 2015 - January, 2015

Due to a non-disclosure agreement, I am forbidden to disclose the name of the client for this project.

Aspenware was commissioned to develop a new user registration portal for this customer. I was asked to audit the newly developed portal for the major accessibility requirements and create a backlog of work necessary to achieve compliance. I worked with project stakeholders to scope, estimate, and prioritizes the backlog. Over the course of two weeks, partnering with a visually impaired user, I implemented changes to improve his user experience and achieve the compliance requirements.

Core Technologies
  • Team Foundation Server (TFS)
  • NVDA and VoiceOver accessibility tools
  • AngularJS
  • Syntactically Awesome Style Sheets (Sass)
  • Sitecore (.NET CMS)
Notable Contributions
  • Audited a newly written application to identify problems with accessibility for blind and visually impaired users following the W3C's Accessible Rich Internet Application standards (WAI-ARIA)
  • Consulted the client on principles and patterns designed to improve application accessibility, UI design, and information architecture.
  • Created a backlog of accessibility technical debt and worked with the principal product stakeholders to prioritize for refactoring efforts in the next phase of development
  • Collaborated with a blind user to understand how they used assistive technologies to experience the application and to gather feedback and insight to inform the next design and development phase

Developer & DevOps Engineer

Caption Colorado via Aspenware Internet Solutions

Denver, Colorado — August, 2014 - January, 2015

Caption Colorado provides real-time captioning services to network television broadcasters, government, and private agencies. A vast network of per diem captioners provides the majority of captions read on TV today. Caption Colorado required a way to address the complex scheduling scenarios for both real-time and scheduled network programming. Aspenware was contracted to help improve Caption Colorado’s ability to match captioners with events and to enhance the quality and consistency of collected captioning data. The project was decomposed into multiple phases, each addressing a particular area of concern. The first phase implemented an enterprise resource management tool (ERP) using a free and open source application named Odoo. The second phase required the reconciliation of event, customer, and captioned information. We integrated data across multiple database and applications over an enterprise service bus. The final stage of development used a forward-chaining rules engine to recommend pairings of captioners and events based on a collection or requirements. The application would generate an initial schedule and allow Caption Colorado employees to review and make modifications as necessary.

Core Technologies
  • Python (Puppet, Fabric, and Odoo)
  • Windows server 2012
  • Ubuntu Linux
  • Git SCM
  • ASP.NET (Web API, MVC, Entity Framework)
  • PowerShell
  • Unix Shell Scripting
  • RabbitMQ
Notable Contributions
  • Automated the deployment process of our application to both Linux and Windows environments. Deployment times were typically between 90 seconds and two minutes depending upon environment
  • Introduced several DevOps philosophies such as automated deployments, immutable infrastructure, and desired state configuration.
  • Designed a branching and merging strategy which was influenced heavily on Git Flow to control the movement of application source code from one environment to the next
  • Wrote a POSIX abstraction layer to extend Fabric's DSL and to abstract the differences between deploying to Unix operating systems and Cygwin running on Windows

Developer

Mountain Travel Symposium via Aspenware Internet Solutions

Laguna Hills, California — July, 2014 - August, 2014

Mountain Travel Symposium is the world's largest, annual travel conference for the ski and mountain recreation industry. Aspenware was hired to design and implement a custom content management solution and customer relation management tool. I worked with the client to upgrade their SQL Server instance, perform some key enhancements to the CRM data export functionality, and improve cross-browser and cross-form factor UI layout.

Core Technologies
  • Team Foundation Server
  • jQuery
  • Syntactically Awesome Stylesheets (SASS)
  • Orchard CMS
  • ASP.NET MVC
  • SQL Server 2012
  • Windows Server 2012
Notable Contributions
  • Provided consultation of moving from a waterfall-based delivery lifecycle to a more agile development approach.
  • Extended data export to functionality adding CSV as a target format.
  • Upgraded SQL Server 2010 to 2014.
  • Improvements to site stylesheets leveraging media queries for better support on mobile devices and lower-resolution machines.

Lead Developer

Hosting via Aspenware Internet Solutions

Denver, Colorado — July, 2014 - January, 2015

Hosting provides a managed infrastructure and application hosting solutions to a wide variety of small to medium sized businesses. We engaged Hosting to help them complete several ancillary projects and to evaluate re-writing their customer portal application. While at Hosting, I lead a team of three developers and a designer over the course of nearly six months. Our core objectives were to create a flexible, modular application that could be deployed and maintained independently of other layers of the portal application. We worked with operations resources to create separate build and deployment pipelines for the new UI application allowing us to move faster and to adjust more readily to new or changing requirements.

Core Technologies
  • SQL Server 2012
  • ASP .NET 4.5 (Web API 2.0 & MVC 5)
  • Require.js
  • Knockout JS
  • Kendo UI
  • Team Foundation Server
  • Less
  • Grunt
Notable Contributions
  • Led an effort to redesign Hosting's customer portal UI to conform to modern JavaScript techniques and to decouple the UI layer from the web services tier
  • Devised an asset pipeline driven by Grunt, R.js, and Less to concatenate and minify UI assets independently of ASP.Net's asset management feature
  • Promoted unit testing for the new JavaScript application by writing the initial tests using Mocha, Sinon, and Node JS.
  • Introduced a UI asset build pipeline that included code quality tools like JSHint

Lead Full-Stack Developer

Local Gravity via Aspenware Internet Solutions

Zug, Switzerland — September, 2013 - March, 2014

Local Gravity provides geolocation information to prospective franchise owners and municipal planners. Local Gravity contracted with Aspenware to develop an end-user application for searching and plotting commercial real estate data aiding their customers in strategic business planning. I worked with a team of distributed developers from as far away as the UK and China. I was responsible for the front 2/3 of the application which consisted of a Node.js services layer, a synchronization daemon, and a rich, client-side application. I was also responsible for the initial configuration of the web services and UI server, working with their operations engineer to write Puppet manifests to ease provisioning and configuration of new servers as we scaled out.

Core Technologies
  • MongoDB
  • Puppet
  • Express.js (Node)
  • Angular.js
  • Nginx
  • Linux (Debian)
  • Fabric
  • Jenkins
  • Git
Notable Contributions
  • Designed and implemented a web service layer based on the principles of REST
  • Provisioned and managed the infrastructure for a Jenkins CI server and several UI and API servers
  • Scripted the build and deployment pipeline for the UI and API applications for development, staging, and production environments in Amazon's Elastic Compute Cloud

User Interface Developer

International Sporting Organization* via Aspenware Internet Solutions

Denver, Colorado — August, 2013 - September, 2013

Due to a non-disclosure agreement, I am not at liberty to identify the client for this project.

This project consisted of creating a mobile version of the organization's existing site, which was implemented using Sitecore, a commercial .NET content management system. In this project, we created mobile-friendly views of the existing content allowing content authors the ability to publish articles and media galleries simultaneously to both application versions. My contributions to the project included a lot of the markup and style work in transforming the original mock-ups into the mobile views and miscellaneous scripting to create swipe-enabled carousels and media galleries.

Core Technologies
  • Sitecore
  • jQuery
  • Less
  • Vanilla JavaScript
Notable Contributions
  • Provided expertise in implemented a user interface that was accessible to blind and visually impaired users as outlined in section 508 of the U.S. Rehabilitation Act.
  • Wrote custom JavaScript to support integrating with multiple social media outlets to include Facebook, Twitter, and Pinterest

User Interface Engineer

Hosting via Aspenware Internet Solutions

Denver, Colorado — July, 2013 - August, 2013

Hosting was re-implementing their customer portal to leverage the latest in client-side JavaScript application architectures. My role on this team is to complete the implementation of the client-side application, identify potential performance improvements by instrumenting the application, and to refactor towards those optimizations wherever possible.

Core Technologies
  • ASP.NET MVC 5
  • jQuery
  • Kendo UI
  • Standard cascading style sheets
Notable Contributions:
  • Introduced a pattern using immediately invoked function expressions to encapsulate private JavaScript functions and to export a public interface for the JavaScript types we were using (similar to the revealing module pattern)
  • Implemented a drag and drop editor that allowed customers to move their virtual devices from one solution to another

Developer

Mountain Travel Symposium via Aspenware Internet Solutions

Laguna Hills, California — May, 2013 - July, 2013

Mountain Travel Symposium is the world's largest, annual travel conference. Aspenware was hired to design a custom content management solution that also served as a simple customer relation management tool. The project was very short in duration, and we were able to take something from concept and launch for their 2013 event under very intense pressure.

Core Technologies
  • Team Foundation Server
  • jQuery
  • Syntactically Awesome Stylesheets (SASS)
  • Orchard CMS
  • SQL Server 2012
  • Windows Server 2012
Notable Contributions
  • Implemented a mechanism to apply stylesheets based on the URL scheme conditionally.
  • Implemented a sortable calendar UI control used by site visitors filter events on certain criteria.
  • Managed the initial provisioning and configuration of the SQL Server and Windows Server instances

Developer

Pearson/eCollege via Aspenware Internet Solutions

Centennial, Colorado — January, 2012 - February, 2013

Pearson/eCollege has written one of the world's largest and highest adopted learning management systems and a full compliment of supporting applications and infrastructure. I worked on two delivery teams while at Pearson/eCollege, each with very different objectives. My first team, Digital Vellum, was responsible for the user interface layer of the learning management system (LMS) which was written using Dojo. The primary objective of the initial engagement was to help the existing team pay down the extensive technical debt backlog by fixing medium to low severity defects and refactoring existing implementations to improve re-usability and flexibility. The most substantial refactoring undertaken during this engagement was the re-writing of a dynamic menuing system. Course authors needed the ability to rearrange menu entries and to nest pages under one another within the menu. Another developer and I implemented the new menu system using Dojo that allowed for both drag-n-drop editing and an accessible number-based ordering system. The second team I worked with while at Pearson/eCollege was focused on an independent project aiming to allow teachers and instructors the ability to search, discover, and add open education content (OEC) to either new or existing LMS courses. We were responsible for the infrastructure, application, build, and deployment concerns. My role on this team was to write a series of REST web services on top of Node.js for our Backbone-based UI application to consume. This work included providing Elastic Search backed query, authentication, course authoring, bookmarking services.

Core Technologies

Team Foundation Server
  • Git
  • jQuery
  • Restify (Node)
  • Node.js
  • Elastic Search
  • Nginx
  • Ubuntu Linux
  • Syntactically Awesome Stylesheets (SASS)
  • SQL Server 2012
  • Windows Server 2012
Notable Contributions
  • Collaborated closely with the product architect to design and implement a REST-based web service layer written in Express JS
  • Wrote an Elastic Search driver wrapper that would allow our application to periodically rediscover new Elastic Search master nodes in case of failure
  • Ensured our applications were accessible to blind and visually impaired users by implementing features and testing with assistive technologies like JAWS and NVDA
  • Implemented a drag-n-drop menu editing user interface control in Dojo that would allow users to reorder the navigational elements (menu items) in the course editor
  • Fixed several JavaScript and .NET defects to help reduce the amount of accrued technical debt on the project

Software Engineer

Gogy Inc.

Broomfield, Colorado — November, 2011 - June, 2014

Gogy (derived from pedagogy) is the brainchild of Bret Fund, a professor at the University of Colorado, Boulder. Gogy exists to create social interactions around the primary instructional tool in most classrooms - the presentation. With Gogy, audience members interact with one another and the presenter through conversation style comments, resource sharing (linking to external resources), and note taking. My first responsibility was to write a series of unit and integration tests to reverse engineer and understand the applications architecture. Next, I created an automated build and deployment pipeline using Jenkins and Capistrano. Finally, I began re-writing the user interface to move away from a purely jQuery-driven implementation to something more modular and reusable. In the end, a handful of school who adopted Gogy and were using it. Eventually, it became difficult to find substantial investment, and the project was placed on indefinite hold.

Core Technologies
  • Git
  • jQuery
  • Ruby on Rails
  • Jenkins
  • Capistrano
  • Backbone JS
Notable Contributions
  • Provisioned and configured VPS servers and other infrastructure.
  • Converted conventional web application into a single page application using Backbone.js/jQuery
  • Designed a deployment strategy with staged environments allowing new features to be tested and release to design partners in an orderly, controlled manner
  • Devised a scaling strategy to allow each tier of the application to grow independently of one another
  • Wrote unit tests and specifications for existing code to reverse engineer the prototype's implementation and to drive new features and to guard against regressions
  • Re-wrote file upload code to use Amazon's Simple Storage Solution (S3) rather than the file system to allow for better scaling and edge caching

Web Developer

Leah Stravinsky (Contract)

Sante Fe, New Mexico — February, 2011 - April, 2011

I was hired by Leah to produce a gallery-style website for an exhibition of her installation art in collaboration with renowned poet Miriam Sagan. The application was composed of a user-facing frontend and an administrative backend allowing Leah the ability to crop and upload videos and photographs. From the back-end, Leah could crop and resize uploaded images and publish them to the front-end application.

Core Technologies
  • Git
  • jQuery
  • Ruby on Rails
  • PostgreSQL
Notable Contributions:
  • Wrote a simplified CMS implemented in Ruby on Rails
  • Implemented automatic thumbnailing of uploaded images using ImageMagick
  • Added a responsive layout using SASS and Compass

Developer

Certified Hazardous Materials Managers (Contract)

Denver, Colorado — July, 2010 - September, 2010

I was brought in by Paul, the current maintainer of this site, to help in the transfer of ownership after the previous developer passed away. Paul was new to Ruby development, so I had the opportunity to help him get up to speed on the Rails framework and the Ruby language. I also helped Paul to re-write the deployment scripts previously used by CHMM, implement a mass-mailing solution, and troubleshoot a 3rd party integration with Microsoft Access using ODBC.

Core Technologies
  • Git
  • Ruby on Rails
  • Microsoft Access
Notable Contributions
  • Added unit test coverage for the major logic in the application
  • Implemented a mass-mailing solution for subscribers of the CHMM site
  • Wrote deployment scripts for Capistrano to facilitate deployment to a Linode environment

Education

University of Colorado - Denver

Bachelor's of Science - Biology — Fall, 2003 to Spring, 2008