Education
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, Unit Testing, Integration Testing, Scrum, Agile, Mentoring |
Platforms | Windows 2000/XP/2003/Vista/7/8/10, Ubuntu, CentOS, Linux |
Languages | PHP 5/7, ES6, SQL, HTML/XHTML/HTML5, CSS, Javascript, Lua, XML, XSLT |
Frameworks | Laravel, Vue.js, PHPUnit, Guzzle, Yii 1.1, jQuery, jQuery DataTables, Backbone.js, Bootstrap 3, Bootstrap 4, CodeIgniter, Highcharts, SimpleSAML, Libsodium |
Web Technologies | AJAX, JSON, SOAP, SAML, APCu, React PHP, OAuth 1, OAuth 2, Cloudflare |
Server Technologies | Docker, Docker Compose, Redis, Nginx, Varnish, Apache, Stunnel, RabbitMQ, Memcached |
Databases | MySQL, PostgreSQL, Microsoft SQL Server, Oracle 10g, SQLite 3 |
Tools | Git, PHPStorm, Subversion (SVN), VirtualBox, Npm, Composer, Mercurial, Jira, Slack, Asana, Mantis Bug Tracker, Bugzilla |
APIs | LinkedIn API v1, LinkedIn API v2, Instagram API, Google My Business API, Facebook Graph API, Authorize.net API, Steam API, Google Analytics API, SendGrid API, Magento API, Google Docs API, Amazon Product API, Five9 API, 3CLogic API, Core Logic API, Loggly API, Keen.io API, Wordpress API, Outbrain API, Twitch v5 API, Discord API, Amazon S3 API, Transunion API, Mixer API, Twitter API |
Experience
Full Stack Engineer
SOCi, Inc.
- Modernize legacy systems with PHP 7, ES6 Javascript, and the Backbone JS framework.
- Integrate with external APIs such as LinkedIn, Instagram, Facebook Graph, and Google My Business for imports and client interaction.
- Optimize processes with batching to scale with large volumes of data.
- Thoroughly test new code, and update the code coverage of legacy systems, with unit tests and integration tests using PHPUnit and response mocking for remote responses.
- Collaborate as part of a large engineering team to develop solutions, review Pull Requests, and coordinate large deployments to production.
- Utilize Docker and Docker Compose for setup and maintenance of the development environment along with PHPStorm to assist with debugging.
- Coordinate with project management to plan projects, provide estimates, and write up detailed daily progress reports.
Senior Web Engineer
The Cheat Sheet
- 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
- 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
- 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
- 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
- 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 (beta)
URL: https://beta.necrolab.comSkills Used: PHP 5/7, ES6, Laravel, Vue.js, Bootstrap 4, PostgreSQL, OAuth 2, Cloudflare, Docker, Docker Compose, Redis, Nginx, Git, PHPStorm, Npm, Composer, Steam API, Twitch v5 API, Discord API, Amazon S3 API, Mixer API, Twitter API
This version of The NecroLab is a rewrite of the previous version in my portfolio with a focus on migrating to a modern development stack. It currently runs on PHP 7.3, Postgres 11, and redis 5. Its backend is powered by Laravel 5.8 as the API and its frontend is a lean single page application written with Vue.js and ES6 Typescript. Both the development and production environments are configured with Docker and Docker Compose to simplify getting started with development and for quick deployments. As many features of Laravel are being utilized as possible; Socialite for third party API integrations, Amazon as a storage filesystem, queues, task scheduling, commands, the mail module, many components that leverage Laravel's libraries, and many more.
I am the sole frontend and backend developer of the entire site. The site is completely open source with the MIT license so it is open for anyone to contribute. Docker environments are available for anyone interested to get started quickly.The NecroLab
URL: https://www.necrolab.comSkills 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/FlowSkills 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, AJAX, JSON, SOAP, SAML, SimpleSAML, 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.