Andrew Hughes

Andrew Hughes

Boulder, United States
Hire Andrew
Scroll To View More
Andrew Hughes

Andrew Hughes

Boulder, United States
Member since February 10, 2015
Andrew is a senior web application developer with 15+ years experience. After spending his early career as an expert object-oriented developer working in Java and PHP, he moved into functional programming and modern JavaScript with Node/MongoDB/React/Redux projects. He has also developed in Objective-C and Swift. He also has solid DevOps experience and has built and rebuilt Linux servers.
Andrew is now available for hire
  • Java, 12 years
  • PHP, 8 years
  • Magento, 5 years
  • Node.js, 4 years
  • React.js, 4 years
Boulder, United States
Preferred Environment
GitHub, OS X, Linux, IntelliJ/WebStorm/PhpStorm
The most amazing...
...learning experience I've had programming was writing a custom word processing application with which I wrote two novels.
  • Senior PHP Developer
    Sound Web Solutions
    2012 - PRESENT
    • 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.
    Technologies: PHP, WordPress, Amazon AWS
  • Owner/Software Engineer
    2001 - PRESENT
    • Built Retreat Minder, a JavaScript/ES6 app that will assist in managing, planning, and finding contemplative retreats.
    • 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 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.
    Technologies: Objective-C, Cocoa, Swift, Java, PHP, MySQL, MongoDB, React, Redux, Node.js
  • Senior Java Engineer/Java Server Engineer
    Younity/Entangled Media
    2015 - 2016
    • Created a Pub/Sub messaging system on Amazon AWS using with a Hazelcast back-end.
    • Assisted in managing a complex AWS server environment.
    • Refactored various older Spring API functions to more modern Spring.
    Technologies: Java, AWS, Spring, Groovy, Vertx
  • Web Developer and Software Engineer
    2014 - 2016
    • 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.
    Technologies: Magento, PHP, Amazon AWS
  • Retirement Calcuator
    Abaris (via Toptal)
    2015 - 2015
    • 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.
    Technologies: Java 1.8, Spring, REST, Jersey, Maven
  • Senior PHP Architect and Designer
    2013 - 2015
    • 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 payment system to use a custom-built Braintree payment library.
    • Designed and managed Amazon AWS server instances.
    Technologies: CodeIgniter, PHP, Amazon AWS
  • Web Developer/Software Engineer
    Pulsar Web Works
    2013 - 2014
    • Worked with HTML, CSS, PHP, and JavaScript in a web-application environment to assist in the delivery of client websites and applications.
    • Rewrote, in less than a week, a CodeIgniter codebase to be object-oriented, which to allowed for the proper integration of an 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.
    Technologies: PHP, CodeIgniter, Symfony, Magento
  • Software Engineer
    University of Texas
    2012 - 2014
    • 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.
    Technologies: Java, Groovy, Spring, Jersey, Linux, Jenkins, Nexus, Maven, Gradle
  • MKFormAssistant (Development)

    A ReactBootstrap form helper that has an assistant class that handles common tasks like handling form state and validation, and some useful wrapper components that provide features like add-ons, markings for required components, help blocks, etc.

  • Retreat Minder (Development)

    Built a web app in Node/React/Redux that helps people plan and schedule meditative retreats.

  • Swift iPhone App: Piano Temperament Assistant (Development)

    Wrote an app for iOS in Swift to help people who are learning to tune pianos by ear. Displays the harmonic content of piano notes and simulates beat rates of adjacent partials.

  • Sonos Commuting Optimization Project (Development)

    Used Node to query Google Maps APIs to perform a study on the impact of moving headquarters locations on the employees of Sonos.

  • Custom WordPress Plugin for GravityForms + PayPal (Development)

    PHP/WordPress. Designed and built a custom WordPress plugin for Sound Web Solutions that allowed them to customize the information sent to PayPal during a gravity forms checkout procedure.

  • Revamped Velocitek Control Center (Development)

    Updated the OS X GUI according to client spec and debugged low level C/C++ IOKit USB code to fix issues related to the control center connecting to and updating from a USB device (a GPS location recorder called Pro Start). Also debugged and fixed an issue that had broken their firmware updating capability on the OS X app.

  • Publish-Subscribe Messaging System (Development)

    Designed and implemented a stateless Pub/Sub messaging system using Java/Groovy and the platform. The system included automatic clustering and deployment on Amazon EC2 instances.

  • Custom Magento Module for PR Office Solutions (Development)

    PHP and Magento. The client required a highly customized order approval process that included modifying the order payment and approval flow, as well as creating custom admin and front-end UI elements.

  • Magento CRM Integration (Development)

    PHP and Magento. Created a module that integrated a CRM solution with PepPod's custom Magento website.

  • PepPod Site Rebuild (Development)

    PHP, HTML, CSS, Amazon AWS and JavaScript. Complete rebuild of PepPod's Magento eCommerce website. I worked with their designer and created a responsive custom sub-theme according to their design specifications. I also updated their build environment on Amazon AWS to include TEST instances for development and updated their overall development structure to professional standards.

  • BonitaSoft Web Form Integration (Development)

    Java, Groovy, and Spring. Technical lead on a project to integrate a BonitaSoft web form BPM system for use in provisioning a new authentication system at the University of Texas. My role included researching potential solutions, assisting with the decision to use BonitaSoft, and writing a custom Java/Groovy library that simplified the interface between the BonitaSoft BPM software and the pre-existing UT middleware.

  • Arduino-based Matrix LED Display/DJ Stand (Development)

    Created a 560-LED matrix grid using LED strips and custom coded LED animations and control software for use on a laptop DJ stand.

  • Mac OS X Word Processing Application (Development)

    Mac OS X, Cocoa, Objective-C. While writing my first two novels, I also created a word processing application that inherently allows the user to break the book down into chapter/scene/section structure, and emphasizes simplicity and cleanliness over feature bloat.

  • Teensy/Arduino 16-bit Arduino Controller with Delta-sigma Modulation (Development)

    For an art project that required extremely smooth and slow low level fades, I custom designed a PCB board with 4 x TI TLC5971s (16-bit PWM LED driver) and wrote custom controller code that used delta-sigma modulation to dither the 16-bits for an extra few bits of resolution, depending on the speed of the processor. Because of the speed requirements, this project ran better on Teensy than Arduino, but the code was compatible with both.

  • Process Request Interface (Development)

    Rewrote a request interface for the University of Texas, translating older mainframe calls to a modern Java/Groovy REST API using Jersey and Spring. The API was a business process middleware that later sat between the Oracle database and the end-user web applications. Test-driven development and a full suite of unit tests and integration tests were developed while building the API. Newer functional Groovy features such as closures were included as appropriate.

  • Use Magento If You're Serious About eCommerce (Publication)
    You've heard that Magento is the eCommerce platform to use if you're serious about your business -- and you're serious about your business -- so you've decided on Magento. But do you know what you're getting into? In this post, Toptal Software Engineer Andrew Hughes walks us through the difference between WordPress WooCommerce and Magento. While Magento is the expert’s eCommerce platform of choice, it’s not always the right solution, depending on your client.
  • Languages
    Java, Objective-C, PHP, JavaScript, Groovy, Swift
  • Paradigms
    Continuous Integration (CI), Object-oriented Programming (OOP), Unit Testing, Functional Programming
  • Platforms
    Magento, iOS, Linux
  • Storage
    Oracle SQL, MySQL, MongoDB
  • Libraries/APIs
    Node.js, React.js, Google Maps Geocoding API
  • Tools
    Git, Adobe Photoshop
  • Frameworks
  • Certificate in SEC 401: Computer Security Essentials -
    2013 - 2013
  • BA degree in Biochemistry
    Rice University - Houston, TX
    1995 - 2000
I really like this profile
Share it with others