- Senior PHP DeveloperSound Web Solutions2012 - PRESENT
Technologies: PHP, WordPress, Amazon AWS
- Assisted in the migration and continuing development of a Node reverse proxy file server with a bundled WordPress CMS and authentication front-end.
- Created WordPress plugins to customize Gravity Forms + PayPal checkout procedures.
- Debugged production PHP systems as needed.
- Owner/Software EngineerMoksaMedia2001 - PRESENT
Technologies: Objective-C, Cocoa, Swift, Java, PHP, MySQL, MongoDB, React, Redux, Node.js
- Wrote StoryWriter, a custom word processing application that has an intuitive, tree-based project layout similar to a programming IDE, while writing my first book. I have written two books with it.
- Created Blograt, a Groovy-based blogging framework including a custom Groovy object mapping framework for MongoDB.
- Developed MrGadget, a lightweight Java utility library similar to Fabric that allows the automated execution of commands on remote servers.
- Oversaw the development of MixMaster, a Mac/OS X utility designed to be used with Native Instrument’s Traktor that uses a custom algorithm to sort songs by key and BPM.
- Senior Java Engineer/Java Server EngineerYounity/Entangled Media2015 - 2016
Technologies: Java, AWS, Spring, Groovy, Vertx
- Created a Pub/Sub messaging system on Amazon AWS using Vertx.io with a Hazelcast back-end.
- Assisted in managing a complex AWS server environment.
- Refactored various older Spring API functions to more modern Spring.
- Web Developer and Software EngineerPepPod2014 - 2016
Technologies: Magento, PHP, Amazon AWS
- Took over development of the Magento eCommerce website. Created a TEST server and a development Git branch to allow for a modern, professional workflow.
- Created a completely custom sub-theme based on their design.
- Wrote custom modules to integrate with other technologies including Capsule CRM.
- Worked remotely, contract/hourly, communicating via email and phone and using Assembla to manage tickets and releases.
- Managed their Amazon AWS EC2 instances using Route53, a load balancer, and various RDS instances.
- Retirement CalcuatorAbaris (via Toptal)2015 - 2015
Technologies: Java 1.8, Spring, REST, Jersey, Maven
- Created a REST interface for a custom application API according to supplied specifications using Spring MVC and Jersey.
- Extensively unit-tested and integration tested using test-driven development.
- Senior PHP Architect and DesignerBar-o2013 - 2015
Technologies: CodeIgniter, PHP, Amazon AWS
- Modernized an existing CodeIgniter web application, taking over from a previous developer. Cleaned up numerous aspects of the application, applying OO and functional design paradigms as appropriate.
- Refactored the Authorize.net payment system to use a custom-built Braintree payment library.
- Designed and managed Amazon AWS server instances.
- Web Developer/Software EngineerPulsar Web Works2013 - 2014
Technologies: PHP, CodeIgniter, Symfony, Magento
- Rewrote, in less than a week, a CodeIgniter codebase to be object-oriented, which to allowed for the proper integration of an Authorize.net payment system. Later, this refactoring paid off when the client asked us to change the payment system to Braintree--now that it was properly designed, the switch was easy.
- Created an inventory update system that linked a windows XP machine running unsupported POS software to a Magento store by creating a Visual Basic script that read the database on the client side and pushed it to a custom Magento extension on the server side, where the inventory data was parsed and translated into Magneto objects, creating any new items on the fly, as necessary, as well as updating stock and price.
- Updated and managed various Magento eCommerce stores.
- Software EngineerUniversity of Texas2012 - 2014
Technologies: Java, Groovy, Spring, Jersey, Linux, Jenkins, Nexus, Maven, Gradle
- Worked as a major contributor to build a Groovy mainframe to a UNIX interface processing a million transactions per month.
- Migrated a build server running Jenkins, Nexus, Crucible, and Sonar from a failed hard disk to a new VM in three days.
- Refactored the university’s self-service application, a proprietary legacy web application using a non-standard procedural technology, to use an OpenAM-based authentication system.
- Designed and developed a custom library that interfaced a BonitaSoft webform application with UT’s business process layer, LDAP server, and Active Directory servers.
- Developed a Groovy script to be run regularly that searched the University of Texas' various identity systems for user accounts that have not authenticated within the previous 15 months. The script included accessing Splunk records via a REST interface; directly querying the school's Active Directory domain via a Spring template; querying an REST interface for UT's implementation of OpenAM called UTLogin; as well as making broker calls to a mainframe module via a Java API.