Contract Software Developer2017 - PRESENTCodeSmith Tech, Ltd.
Technologies: Laravel, Bootstrap, jQuery, MySQL, Python, Flask, PostgreSQL, AWS Redshift, AWS Elastic Beanstalk, PHP, Docker, Vue.js, AWS, Redis, Ionic, AWS EC2
- Built a commercial property management system for a client with considerable commercial real-estate interests; full-stack build was undertaken solo for a client based in Toronto, Canada.
- Created an end-to-end encrypted messaging app for private use by a client and his staff. The app was released to both Apple and Google Play stores. I was heavily involved in the native app build, API development, and provisioning of infrastructure on AWS.
- Contributed to the web application layer of a data pipeline and ETL tool being built out at a US startup.
- Built a hotel management platform for a luxury surf lodge in Costa Rica.
Senior Software Engineer2015 - 2017RetailMeNot UK
Technologies: PHP7, Laravel, Python, Docker, Vue.js, MySQL, AWS Redshift, Rabbit MQ, AWS Kinesis, Terraform, Ansible, Flask
- Created and maintained a tool using PHP7 for orchestrating the flow of data between production and reporting data stores.
- Wrote and monitored ETL jobs in PHP7 and Python, moving millions of rows of data each day.
- Created real-time streams of user activity data to be used for reporting and personalizing on-site experiences using AWS Kinesis and Kinesis Analytics.
- Transitioned a user/merchant affinity algorithm on a Spark-based EMR cluster in AWS to production-ready status.
- Led the data engineering team; a team of three software engineers.
- Modeled data for storage in the company's data warehouse hosted on AWS Redshift.
- Created a database user management and authorization system using Flask (Python) as a REST server and a Vue.js front-end.
PHP Engineer (Contractor)2014 - 2015Aurora Commerce
Technologies: PHP, Varnish, Memached, NGINX
- Implemented an event-based workflow system in the company's flagship eCommerce platform.
- Optimized caching strategies using Memcached and Varnish with edge side included for improved performance.
- Worked directly with the company's clients to gather requirements, estimate costs, and generate a quote for work.
- Implemented dashboard reporting, allowing store owners to compare data over date ranges in the same type of service that Google Analytics provides.
- Helped optimize MySQL queries to improve stability and performance of the client systems during peak hours.
PHP Engineer (Contractor)2013 - 2013Affiliate Window
Technologies: PHP, Zend Framework, Elasticsearch, MySQL, REST, Behat
- Refactored existing code architecture for the company's directories of publishers to vastly improve maintainability of this section of the codebase.
- Introduced Elasticsearch as a search technology, replacing the MySQL solution. Improved indexing and retrieval times by several orders of magnitude.
- Integrated with Zanox (Affiliate Window's parent company) via REST and SOAP APIs to provide UK and EU users seamless access to each other's markets.
- Wrote extensive end to end tests around the new directory architecture using Behat.
- Contributed to the team generating recommendations for users based on previous behaviors using Mahout.
PHP Engineer and Consultant (Contractor)2012 - 2013Xigen
Technologies: PHP, Zend Framework, Scrum, jQuery
- Mentored junior members of staff to develop their OOP skills and Zend Framework knowledge.
- Built a Zend Framework system for a client that specialized in print. The system was comprised of an eCommerce front end and a management system that allowed for the automatic "laying up" of artwork.
- Introduced Agile methodologies to the business and acted as a consultant in applying Scrum to one of the development teams.
- Improved the in-house CMS used to power Epson's public facing websites, providing stability on deploys.
- Introduced PHPUnit to legacy systems that were prone to the introduction of regressive bugs.
Senior Developer2011 - 2012Affiliate Window
Technologies: PHP, MySQL, jQuery, PHPUnit, Behat
- Worked with a remote team based in Berlin to integrate the Affiliate Window and Zanox back-ends after Affiliate Window was acquired.
- Created REST endpoints for the Berlin team to consume, and consumed REST endpoints exposed by the Berlin team.
- Created an SSO (single sign on) solution to allow users to seamlessly switch between the Zanox and Affiliate Window systems.
- Integrated Zanox publishers into the Affiliate Window network.
- Regularly profiled code using Zend Studio and Xdebug to identify bottlenecks in the application.
Head of Web Development2010 - 2011Quacquarelli Symonds
Technologies: PHP, MySQL, Drupal, Pressflow, Scrum, Webistrano, Varnish
- Led a team of nine PHP developers and a Scrum Master in two different development areas of the business. One area focused on public-facing websites built in Pressflow, a Drupal distribution. The second area focused on a custom-built data collection system used to request research information from universities.
- Managed the web infrastructure of the business, including physical hardware.
- Implemented a Varnish cache on public-facing areas of the site to handle annual 10x-20x spikes in traffic due to the release of the company's "World University Rankings."
Web Developer2005 - 2010Quacquarelli Symonds
- Worked on the development of the company's web properties, topmba.com and topuniversities.com, written in PHP.
- Wrote an application to collect research statistics from universities and push submitted data through a validation pipeline. This data was ultimately used in the company's annual release of the "World University Rankings."
- Researched and introduced Scrum to the development team.
- Researched and introduced Subversion to the development team; no version control system was in use previously.
- Migrated legacy systems from the Lasso language over to PHP, increasing the number of developers who were able to work on those systems.