Aaron Thomas Schrab


Over twenty years of experience with Unix-like Operating Systems, doing both development and system administration. Able to work both on my own or with a team. Proven success of diagnosing and resolving complex system and network problems.

Computer Skills


Sunbird Software

Senior Software Engineer
Raleigh, NC
May 2015 – present

Worked on the PowerIQ web interface which uses Ruby on Rails to present data from a PostgreSQL database.

Optimized queries to the PostgreSQL database in order to decrease the amount of time users need to wait to see data.

Built a Rails engine to serve JSON data and JavaScript code to build SVG charts replacing a legacy Flash-based solution.

Wrote database migration rules using Liquibase.

Reviewed GitHub pull requests from other team members.


Tools Developer
Morrisville, NC
September 2013 – February 2015

Development on the internal, issue-tracking system to convert it to using an Oracle database via a JSON API implemented with Ruby on Rails.

Worked on generating testable API documentation to ensure that the described API was accurate and would remain so as additional development was done.

Helped in design of database schema.

Developed a Perl library to minimize changes needed for legacy client applications to work with the new storage system.

Participated in code review process for changes by other team members to improve code quality.

Developed tools to compare data in Oracle database against legacy storage to check for bugs in the data conversion process.

Developed Oracle stored procedures to assist in writing queries to replicate functionality from legacy system.

Assisted users in writing queries based on their described requirements.


Senior Software Architect
Milwaukee, WI
September 2009 – May 2012

Developed a web-based application for mortgage companies using Perl's Catalyst MVC framework and PostgreSQL to run the backend which provided a REST API for a browser-based user interface implemented with the ExtJS toolkit. The initial development to assist with regulatory compliance in dealing with appraisals was done largely by myself. As the scope of the product grew to handle more functionality the size of the team grew to more than 20 developers.

Developed Perl-based tools for keeping database schema and base data synchronized with changes kept in a version control system.

Developed a system for documenting REST-API endpoints which could generate PDF outputs which gave examples of data structures using either XML or JSON syntax from a common XML source format.

Managed the migration of the source code from subversion to git.

Brevient Technologies

Senior Software Architect
Milwaukee, WI
January 2007 – September 2009

Developed a web-based system for distributing marketing messages via email, RSS, and website applets using Perl's Catalyst MVC framework along with PostgreSQL.

Used Perl to implement a system for billing thousands of VoIP calls per hour along with other products, generating PDF invoices that could contain more than 10,000 pages each.

Maintained the Jyngle.com site using Perl's Catalyst framework, which allowed users to send voice and/or text messages to large groups of people at a time.

Enforcer Group, Inc.

Senior Developer
West Allis, WI
November 2002 – December 2006

Led the design and development of web-based records management, mugshot, and computer aided dispatch (911) systems for public safety agencies using a combination of Ruby, PostgreSQL, JavaScript and Java.

Developed an embedded Linux platform to be hosted at client sites to run portions of this system and provide VPN connections to the primary hosting site.

Responsible for setting up and administering servers for the previously mentioned systems as well as the company's internal servers.

Configured an Asterisk system to handle the company's telephone system, using a combination of analog phone lines along with both hardware and software VoIP phones.


Systems Administrator
New Berlin, WI
May 1996 – March 2002

Administered legacy ExecPC mail systems with over 100,000 client accounts.

Managed internal and customer mailing lists.

Setup and maintained Unix (Linux, FreeBSD, and Solaris) servers providing a variety of services.

Wrote programs in Perl, Bourne shell and C to automate administration and provide new services.

Implemented system backups using Perl scripts.

Assisted technical support and customer service personnel in fixing customer problems.


Customer Service Representative
New Berlin, WI
November 1995 – May 1996

Gathered account information from new customers and helped them acquire and set up software to allow their computers to access the internet for the first time.

Provided technical support for Macintosh users.


Marquette University

Milwaukee, WI
September 1992 – May 1996
Studied Electrical and Computer Engineering, then changed my major to Computer Science.


I contributed code to implement support for pre-push hooks in git.

I have contributed several enhancements to the UltiSnips a Python-based plugin for Vim; including a complete refactoring of the test system.

I've developed several patches for the mutt mail client.

I contributed the recording history module for the TivoWeb project, a web-based interface for interacting with TiVo DVRs implemented in TCL.

I have contributed minor patches to numerous other projects.


Available on request.


© 2003 – 2015 by Aaron Thomas Schrab.

Unaltered copies may be distributed at will. Distribution of modified versions allowed only with explicit prior permission.