Education

Bachelor of Science in Computer Information Systems

Devry University

Pomona, CA

Graduation Date: 06/2006

Cumulative GPA: 3.81


Skills

Specialties Backend Development, Frontend Development, Server Administration, 3rd Party Integrations, Data Imports, Data Aggregation, Scrum, Agile, Mentoring
Platforms Windows 2000/XP/2003/Vista/7/8/10, Ubuntu, CentOS, Linux
Languages PHP 5/7, SQL, HTML/XHTML/HTML5, CSS, Javascript, Lua, XML, XSLT
Frameworks Laravel, Yii 1.1, jQuery, jQuery DataTables, Bootstrap 3, Bootstrap 4, CodeIgniter, SimpleSAML, Libsodium, Highcharts, BunnyJS
Web Technologies AJAX, JSON, SOAP, SAML, APCu, React PHP, OAuth 1, OAuth 2, Cloudflare
Server Technologies Redis, Nginx, Varnish, Apache, Stunnel, RabbitMQ, Memcached
Databases MySQL, PostgreSQL, Microsoft SQL Server, Oracle 10g, SQLite 3
Tools Git, Subversion (SVN), VirtualBox, Bugzilla, Mantis Bug Tracker, Composer, Mercurial, Jira, Slack, Asana
APIs Authorize.net API, Steam API, Google Analytics API, SendGrid API, Magento API, Google Docs API, Amazon Product API, Loggly API, Five9 API, Keen.io API, 3CLogic API, Wordpress API, Core Logic API, Outbrain API, Twitch v5 API, Amazon S3 API, Transunion API, Discord API, Mixer API, Twitter API

Experience

Senior Web Engineer

The Cheat Sheet

01/2015 - 06/2018
  • Lead the development of the organization's data analytics platform using PHP built on the Yii Framework, MySQL, CSS, HTML5, and Javascript.
  • Refactor the company's data analytics platform as a SaaS using Laravel 5.5, PHP 7.1, and MySQL as the API backend and Bootstrap, jQuery, and Highcharts as the frontend.
  • Convert, streamline, and heavily optimize legacy systems for integration into internal data analytics platform.
  • Create libraries for, and import data from, a large variety of sources such as Google Analytics, Keen.io, Google Sheets, Outbrain, OpenX, IndexExchange, Loggly, and Wordpress.
  • Combine complex aggregate data from multiple sources and, using proprietary calculations, create advanced data structures used by the organization for vital daily operations.
  • Collaborate with employees from various departments to design and build the organization's internal web applications.
  • Create complex reporting dashboards, complete with charts and graphs, to allow users to easily visualize said advanced data structures using jQuery, Highcharts, and jQuery DataTables.
  • Perform system administration to configure web and database environments.
  • Act as a lead liaison with external entities that provide technology services utilized by the organization.
  • Mentor fellow developers about vital internal systems with documentation and cross training sessions.

Senior Web Developer

iQual Corporation

07/2010 - 01/2015
  • Migrate the company's internal web applications from Cold Fusion to HTML, PHP, MySQL, and the JQuery Javascript framework.
  • Build and maintain a call center application driven by PHP, MySQL, HTML, CSS, and the jQuery Javascript Framework with extensive use of AJAX.
  • Integrate said call center application with Five9.
  • Utilize technologies, such as the SimpleSAML PHP framework and the PHP SOAP service, to interface with outside organizations.
  • Update several legacy PHP scripts to use modern programming methodologies.
  • Create and maintain several data reports distributed to chief company officers and business partners.
  • Contribute fixes, changes, and new functionality to product software repositories via SVN.
  • Collaborate with other employees to design and build the company's internal web applications.
  • Setup and maintain the company's SVN repositories.

Web Developer

Ibex Data

01/2010 - 05/2011
  • Build, test, deploy, and maintain various software projects for clients utilizing PHP, MySQL, HTML, CSS, AJAX, and the jQuery Javascript framework.
  • Contribute fixes, changes, and new functionality to client software repositories via SVN.
  • Collaborate with other developers, both remote and in-office, to fix bugs, create new functionality, and communicate ideas.
  • Manage work using tickets through Mantis Bug Tracker.

Web Programmer

University of California Riverside Extension

06/2009 - 09/2009
  • Design and develop various in-house applications for use with the Department of Information Technology utilizing PHP, Oracle 10g, the jQuery Javascript framework, AJAX, CSS, and HTML.
  • Collaborate with users and department supervisors to gather requirements to create new functionality for existing in-house applications.
  • Contribute fixes, changes, and new functionality to the application repository via SVN.

Jr. Programmer

Houghton Mifflin Harcourt

09/2006 - 12/2008
  • Build, test, deploy, and maintain a web-based K-12 student information system utilizing PHP, an in-house framework built on PHP, PostgreSQL, HTML, CSS, AJAX, and the jQuery Javascript framework.
  • Collaborate with programmers, both with in development team and external, to fix bugs, create new functionality, and communicate ideas.
  • Develop data import scripts utilizing PHP to bring data of varying formats into the student information system.
  • Directly import data from a student data warehouse product – developed in-house utilizing PHP, the same in-house framework, and MySQL – into said student information system.
  • Contribute fixes, changes, and new functionality to the software repository via SVN.
  • Test both the student information system and the student data warehouse product utilizing automated scripts in QA Wizard 4 and QA Wizard Pro.
  • Manage bugs via Bugzilla.

Portfolio

The NecroLab

URL: https://www.necrolab.com

Skills Used: PHP 5/7, PostgreSQL, Javascript, CSS, Bootstrap 3, jQuery, jQuery DataTables, Ubuntu, XML, AJAX, JSON, APCu, Libsodium, OAuth 1, OAuth 2, Cloudflare, Redis, Nginx, Varnish, Stunnel, Git, Steam API, Twitch v5 API, Amazon S3 API, Discord API, Mixer API, Twitter API

The NecroLab is a data analytics website for the community of the video game "Crypt of the NecroDancer". Its backend imports leaderboard data stored on Steam in regular intervals. After leaderboard data has been imported asynchronous tasks are queued via RabbitMQ to workers listening on those queues that will generating rankings, update steam users, and send data to Amazon S3 for archiving. Players are able to log in via Steam to then link various accounts to their profile. These accounts include Youtube, Twitch, and reddit. When a user links their account an icon for that site will appear next to their username on every leaderboard and ranking page to allow the general public to visit their profile pages and follow them. I actively work on the site and am in the process of migrating it from my custom framework to Laravel. Once migrated many features are planned to be added to the site. One of which is custom daily leaderboards.

I am the sole frontend and backend developer of the entire site. The design was provided by the community that I built upon. The site is completely open source so it is open for anyone to assist.

Flow CMS

URL: https://github.com/tommy-bolger/Flow

Skills Used: Windows 2000/XP/2003/Vista/7/8/10, Ubuntu, Linux, PHP 5/7, HTML/XHTML/HTML5, CSS, Javascript, jQuery, AJAX, JSON, Memcached, APCu, MySQL, PostgreSQL, SQLite 3, Git, Amazon Product API, VirtualBox

Flow CMS is a personal project started and maintained by myself to further my knowledge of PHP and web development in general. I use it to hash out concepts I read about to understand them. Some of these concepts include bcrypt, encryption, caching, Javascript and CSS minification, building for multiple DBMS', and API clients. I also use it to learn new modules, extensions, and functionality introduced into PHP. This website was built using this CMS.

ApprovalGUARD

Organization: iQual Corporation

URL: http://www.approvalguard.com/

Skills Used: Windows 2000/XP/2003/Vista/7/8/10, Ubuntu, Linux, PHP 5/7, HTML/XHTML/HTML5, CSS, Javascript, XML, XSLT, CodeIgniter, jQuery, AJAX, JSON, SOAP, APCu, MySQL, Subversion (SVN), SendGrid API, Authorize.net API, Magento API, Core Logic API

ApprovalGUARD is a credit advisory service. Customers are given quarterly access to their credit report and have phone sessions with credit advisors to review their report to look for ways to improve their credit score. Automated credit monitoring and alerts are also provided to members.

As the sole developer for much of the website's current iteration I was intimately involved with all aspects of the software cycle with less emphasis on the overall design as that was handled by a dedicated designer. I was also responsible for system administration of the servers used for the production and development environments.

iQual Management System

Organization: iQual Corporation

Skills Used: Windows 2000/XP/2003/Vista/7/8/10, Ubuntu, Linux, PHP 5/7, HTML/XHTML/HTML5, CSS, Javascript, XML, XSLT, CodeIgniter, jQuery, SimpleSAML, AJAX, JSON, SOAP, SAML, APCu, MySQL, Subversion (SVN), SendGrid API, Authorize.net API, Magento API, Five9 API, 3CLogic API, Core Logic API

The iQual Management System (IMS) is an intranet website used to manage day-to-day operations of the company. Features of the site include an employee management module, service queues to handle calls with customers, an administration section for the queues, an appointment module for scheduling appointments for credit sessions, reports for management to track productivity, a customer management module, and many others.

I was the sole dedicated architect for IMS and the majority of its features. I am actively involved with its continued development and maintenance. I also am the system administrator for the server that hosts this site.

CollegeED Online

Organization: Ibex Data

URL: http://ce.collegeboard.org/

Skills Used: Windows 2000/XP/2003/Vista/7/8/10, Ubuntu, Linux, PHP 5/7, HTML/XHTML/HTML5, CSS, Javascript, jQuery, AJAX, JSON, MySQL, Subversion (SVN), VirtualBox, Mantis Bug Tracker

CollegeED Online is an e-learning platform targeted towards students in grades 7-12. It was created in collaboration with Collegeboard (http://www.collegeboard.com/) and Roadtrip Nation (http://roadtripnation.com/). This platform contains a curriculum of lessons with assignments that assist students in deciding their college career focus and a set of tools for teachers to manage classes of these students.

I was a member of the web development team that created the initial and subsequent revisions of this project. As such I have worked with all aspects of this website: the design, underlying data layer, the database, and the code for the web pages themselves. My role on the web development team switched often to what the team needed: a web designer, a web programmer, a database analyst, and quality assurance.

Roadtrip Nation

Organization: Ibex Data

URL: http://www.roadtripnation.com/

Skills Used: Windows 2000/XP/2003/Vista/7/8/10, Ubuntu, Linux, PHP 5/7, HTML/XHTML/HTML5, CSS, Javascript, XML, jQuery, AJAX, JSON, MySQL, Subversion (SVN), VirtualBox, Mantis Bug Tracker

Roadtrip Nation is the website of the TV show of the same name. It acts as an interactive resource to the TV series with the ability to watch episodes, watch interviews, get listings for episodes on public television, find ways to contribute to the organization that runs the show, and many others.

My role for this website was as a member of the development team responsible for the website's maintenance and continuing enhancements.

RoadtripNation.org

Organization: Ibex Data

URL: http://roadtripnation.org/

Skills Used: Windows 2000/XP/2003/Vista/7/8/10, Ubuntu, Linux, PHP 5/7, HTML/XHTML/HTML5, CSS, Javascript, XML, jQuery, AJAX, JSON, MySQL, Subversion (SVN), VirtualBox, Mantis Bug Tracker

RoadtipNation.org is an e-learning platform targeted towards students in grades 7-12. It was created as a complimentary site to Roadtrip Nation (http://roadtripnation.com/). This platform contains a curriculum of lessons with assignments that assist students in deciding their college career focus and a set of tools for teachers to manage classes of these students.

As a member of the development team behind the project I contributed to the website's ongoing maintenance and helped in efforts to refactor much of it.

DOA

Organization: University of California Riverside Extension

Skills Used: Windows 2000/XP/2003/Vista/7/8/10, Linux, PHP 5/7, HTML/XHTML/HTML5, CSS, Javascript, jQuery, AJAX, Oracle 10g, Subversion (SVN)

DOA was an intranet site for the Department of Information Systems and the Department of Information Technology at University of California Riverside Extension. Its purpose was to allow fellow employees from other departments to submit common requests using web forms and place orders for equipment. This allowed the Department of Information Technology to streamline their process. The site also provided access to frequently requested resources and allowed for the remote management of various equipment across the campus.

I was the sole developer for the backend code and SQL that powered the site and the front end Javascript. The designs of the website were handled by a dedicated graphic artist and then given to me to transform into an interactive page.

Iris SIS

Organization: Houghton Mifflin Harcourt

Skills Used: Windows 2000/XP/2003/Vista/7/8/10, Ubuntu, Linux, PHP 5/7, HTML/XHTML/HTML5, CSS, Javascript, XML, jQuery, AJAX, JSON, SOAP, PostgreSQL, Subversion (SVN), Bugzilla

Iris SIS (Student Information System) was a product provided by a start-up company formerly known as Achieve! Data Solutions LLC. It was a system that provided educators and school administration at the K-12 level the means to manage a student's information and view reports on student data. Iris allowed teachers and administration to enter attendance for a student and manage the following categories of data for a student: demographics, special education, language (for English-language learners), health, grades, and discipline. Iris also had a flexible student scheduler that would generate student schedules for a school or district based on various enrollment parameters. Iris is currently owned by Illuminate Education Inc. and is now known as Illuminate Student Information System.

My role for this product was as a junior developer specializing in data and QA. I wrote import and conversion scripts to migrate data to and from third party systems, performed data cleanup, wrote complex reports in SQL for supervisors, and performed extensive QA for the team. Toward the end of my tenure I was also developing for the web application and the framework it was built on.