Operating Systems: Windows XP, Linux/Unix, OpenBSD, Mac OS X.

    Programming Languages: Perl, Ruby, Ruby on Rails, Python, Shell Scripts.

    Other Skills: Oracle, MySQL, SQLite3, Apache, CGI scripts, CVS, SVN, Git, HTML, JavaScript, JQuery, XML, .Net Development.


    University of Georgia, 1994-1997 B.S. in Computer Science.

    Gordon College, 1992-1994, Associate Degree in Computer Science.

Coding Example:

  • Ported over software written for my church to handle scheduling and mailing reminders to people serving in different fashions on Sunday mornings.
  • Written using Ruby 1.9.2 and rails 3.2.11
  • Check out README.rdoc in the root directory.

Work Experience:


April 2012-present

  • Franklin Street Church
    • Developed website to handle weekly rotations for volunteers.
    • Multiple users login and handle scheduling different groups of volunteers.
    • Volunteer editing.
    • Scheduling of multiple volunteers from Sunday to Sunday
    • System sends out reminder emails on Fridays.
    • Notifies admins when volunteers have been added or removed from a group so mailing lists can be updated.
    • Developed website to help organize and keep track of prayer requests within the church.
    • Allows for sign up for new users and profile editing.
    • Users post new requests and also update on current status of the request.
    • Users can also mark request as answered.
    • Reports for answered and unanswered requests are available.
    • Reports can be produced as PDFs for easy printing and reading.
    • Utilized Rails 3
    • Used Bootstrap framework for styling
    • Used RSpec, Cabybara, FactoryGirl, faker and Launchy for testing
    • Developed using TDD
    • Used Devise for one login system and developed my own for the other.
    • Took advantage of Sunspot for searching
    • Took advantage of Prawn using Prawto ruby lib to create PDFs
    • Took advantage of git for repository management.
    • Handled deploys out to debian based linux box.
    • Used RVM in development environments to handle different gemsets for each project.
    • Used JQuery to take care of client side coding and to perform AJAX requests.
  • Level 12 Technologies
    • Worked with .Net framework to help develop ticketing system for tracking issues in-house and workflow for these tickets.
    • Worked with in-house developed python MVC framework to develop reporting systems.
    • Helped to improve this framework as well by enhancing grid searching and other features.
    • Worked with sqlserver databases and windows environments.
    • Used JQuery to take care of client side coding and to perform AJAX requests.
    • Worked with various Level 12 clients to understand needs and suggest solutions.


March 2009-March 2012

Software Integration Developer

Since 1994, Appriss has provided innovative software-based services that help hundreds of local, state, and Federal criminal justice agencies serve and protect their citizens.

  • Work on TDEx project, to integrate Texas criminal data from agencies so agencies can share with entire nation.
  • Mostly ETL work. Extract data, translate and clean it up, create an xml document that is passed off to another process to load into a centralized oracle database.
  • Maintained old interfaces for different vendors.
  • Wrote new interfaces for different vendors.
  • Process was a mesh of perl, java and an inhouse C program.
  • Pushed to get our department using a new inhouse developed framework that is ruby based.
  • Formalized a ruby solution capture piece. The code runs on a windows xp based gateway box at the agency and queries their database and sends data to Appriss servers to finish mapping and processing.
  • Work on exports from our centralized database to export data to costumers using an xslt.
  • Work alot with Winxp, OSX, perl, ruby, ssh, and numerous databases.
  • This job taught me a lot about patience while working to make things better.


June 2006-January 2009

Senior Sofware Engineer

Company is leading provider of systems and software to media sales outlets and firms, and has developed a platform that provides a comprehensive sales and order management solution, addressing needs at the individual station as well as the group level.

  • Developed Perl Scripts that would be used as internal tools to support the main product.
  • Migrated and merged data from the company's older system, which was contained in a DB2 database, and our new product, which was in an Oracle database, into a data warehousing reporting database.
  • Developed numerous other support projects in Perl, Ruby and Java.
  • Developed a command line Java application that was to used to help filter IBM MQ messages based on whether they were coming from a newer or older system.
  • Used Java to create a web application for viewing different message types, such as EDI and MQ, that we had stored in our database from clients.
  • Worked with an inhouse development API. It was designed so that developers could write Java code and create web applications; that same code could be used to create a Java Swing application. The majority of our clients leaned towards web applications.
  • Created web based applications using standard GUI ideas such as capturing events and data models. The api would handle creating the javascript and the html. It made develop a lot quicker. This idea of creating web applications with gui development conventions instead of worrying with taping things together with javascript, lead to me investigating Adobe Flex2. The last year of my time here, I learned Flex2 in my spare time. After showing my manager a few personal projects I had worked on, he was excited about using this technology to develop an administrative application to help with internal tasks such as code deployment, account and box administration. We leveraged Flex2 for the frontend, Ruby on Rails and MySQL for the backend and Puppet to help sync the client boxes.
  • With this job I got to work with alot of great and bright people. I got a chance to work on a small team to help the company meet some major deadlines and also work on my own to develop a useful inhouse tool. Also being able to learn a great language like Flex and then be able to use it for your company is very rewarding.

Trevi Group

November 2005-May 2006

Senior Software Engineer

Company is a contract company and we currently work for the Cedar Group. Cedar is a company who works with secure PDF files and is looking to enter the bill processing and mailing market. Trevi Group was brought in to start development of a system to help them prepare for this new business plan.

  • Designed and developed a normalization engine. This engine processes the customer data in numerous formats, builds new fields based on rules, and outputs the data in a common format which is then picked up and processed by another system our team is working on.
  • Targeted to run on a linux system.
  • With this job I got to experience the excitement of going out on my own with some friends and try to work at home as long as we could. Also got some good design experience being responsible for a big piece of the puzzle.


November 2004-October 2005

Senior Software Engineer

Company processes customer data from client companies and mails bills and statements out for these companies.

  • Placed on a team that was responsible for creating a new system to help process the customer data and prepare it for printing.
  • Written in perl and cut down the new customer setup time from months to a couple of weeks.
  • Part of 2 man team put in charge of porting the system to java. Accomplished this in little over a month.
  • Developed a perl/tk utilitly to help view and analyze the index files of customer data we were using.
  • Placed on a group working on completing a web application using java and jsp and an Oracle database for our customers to view information on currently running or completed jobs and preview pdf versions of the bills.
  • With this job I got to use my perl skills and also move back into the java realm. I was allowed to pursue ideas and my input was valued greatly. I really got to flex all my mucles at this company.

Stayonline, Inc

May 2002-October 2004

Senior Software Engineer

Company provides wireless access for various hotel chains.

  • Developed and maintain numerous backend servers, all of which are written in perl.
  • One allowed promiscious routing for laptops that have static IPs to use our network and emulated the intranet of their business networks.
  • Another dynamically build firewall rules therefore securing our product and allowing more fine tuned control of protocols that we allow our customers to access.
  • Another was a SMTP server that logs email information on a per user basis so we can more easily monitor possible missuses of our system (i.e. spam).
  • Another supported software that allows remote printing of receipts for each hotel from our main server at our home office.
  • Worked to help integrate our system with various hotel billing systems.
  • Developed a RADIUS proxy server to integrate our authentication system with such companies as AT&T, Boingo, and iPass.
  • With this job I gained a large amount of experience with OpenBSD, firewalls, Squid servers and RADIUS servers.

Metro IS

September 2001-April 2002

Contract Software Engineer at Atlanta-Journal Constitution

The Atlanta Journal-Constitution is the only major daily newspaper in Atlanta, Georgia, USA, and its suburbs.

  • Developed and implemented algorithm to create a random order listing of links on a static webpage using Javascript.
  • Developed numerous online contest and administrative tools to simplify customization, track participants and choose winners.
  • Developed image manipulation program for tear sheet system. Decreased processing time from 2 weeks to 12 hours to produce image for the onbase system.
  • Added enhancements to database tool written in Java using Swing components.
  • Developed HTML database table copying tool.
  • Developed UniqueTree class to simplify the use of JTrees in Java swing programs for an application that was being written for internal use.
  • With this job I got to work on numerous small projects and got an interesting view into the newspaper business.

Silverpop Systems

February 2000-August 2001

Senior Software Engineer

IT company who's goal was to push the limits of email and make it easier to create media rich emails.

  • Developed Perl scripts to handle content storage.
  • Developed front end Perl CGI scripts for web based interface for user to manipulate this content.
  • Various Perl and Perl cgi scripts for the email system.
  • The second version of the product was written in Java.
  • Developed the content management for this new system.
  • Developed code to handle send time and reception time throttling.
  • Developed numerous servlets and jsps to handle configuration.
  • Developed Java swing program that could be used by system administrators to browse and manipulate our entire content tree.
  • This job was my diving leap into the dot com market. I fine tuned my perl skills and began my journey as a java developer.

North East Health District

October 1997-February 2000

Inhouse department for developing software to support the health care centers for the northeast district of Georgia.

  • Developed new patient report, input, and billing system to be used by 10 county health departments.
  • System was based on Perl and CGI scripts.
  • The system was developed and used on a linux platform using apache web servers and used MySQL as the database.
  • On team to design the core components of this system.
  • Developed checking for the user end with Javascript.
  • My first job out of college. I learned perl and alot about web applications. A great first experience and was given lots of opportunties to explore ideas and contribute.