Experience

Limejump

  January, 2021 - Present  |  Technical Lead  |  limejump.com

I lead the "Data & Reconciliation" team that handles the company's data collection & billing systems primarily through two flagship systems: a custom Python daemon that consumes data from multiple external sources, and a largish Django-based app that understands all the different ways of doing billing in the energy industry (there are just too many). It's not glamorous, but it's challenging and the team is pretty awesome.

Accomplishments

  • Fostered a culture of shared libraries throughout the company, open-sourcing one project (mpan) and releasing even more internally.
  • Designed & built an application to consume data from industry sources as they're made available with limited latency.
  • Designed and built an automated system that pulls data out of production and pushes it into staging while simultaneously anonymising said data to protect from developer error and data leaks.
  • Migrated a monster legacy project from a complex maze of custom bare-metal configurations to a CI-driven, containerised, developer-friendly rig. I even made a video (with music!) introducing it to the team.
  • Fostered a culture of cross-team knowledge sharing, helping colleagues across the company with Docker, Poetry, and Kubernetes.
  • Lead a small team to consolidate various legacy applications into a single collectively-designed and easy-to-maintain system. It does the billing for the company, so we named it "Billy" and it's beautiful :-)

Notable Technologies Used

Agile Amazon Web Services Architecture Celery CI/CD Django Docker Git Kafka Kubernetes Terraform

Zishi Group Limited

  April, 2022 - April, 2022  |  Technical Trainer

A side contract to run two days of training for engineers new to two topics: Linux and Docker. The sessions included lectures with slides I prepared in advance, questions, and workshops.

Notable Technologies Used

Docker Linux

Workfinder

  November, 2018 - November, 2020  |  Senior Developer  |  workfinder.com

Workfinder is a for-profit spin-off of the Fouders4Schools charity. Its focus is to connect young people and business with the work experience they both need.

Accomplishments

  • Containerised three distinct application layers in an effort to smooth the development process.
  • Wrote a pre-caching engine to automate & simplify the the caching process for a number of CPU-heavy pages.
  • Built an elaborate database & API combination to help determine the "truth" in a sea of suspect data. It's actually kind of amazing and I'm really proud of it.
  • Built a CI/CD pipeline that leveraged GitLab's private Docker repository to build, test, and deploy containers to AWS ElasticBeanstalk with a single click in minutes.

Notable Technologies Used

Agile Amazon Web Services Architecture Celery CI/CD Django Docker ElasticSearch GitLab Javascript jQuery Linux PostgreSQL Python Redis REST Shell Scripting

BG Consulting

  December, 2020 - December, 2020  |  Technical Trainer

A side contract, I produced and led two remote training sessions for engineers hoping to expand the scope of their knowledge around security hygiene and technical debt. The sessions included lectures with slides produced by me in advance, Q&A, and a workshop.

Notable Technologies Used

Architecture

Money Mover

  November, 2016 - November, 2018  |  Lead Developer  |  moneymover.com

A fintech startup that handles big money transfers across currencies and international boarders, I led the technical development of the web application. Primarily a Python/Django/PostgreSQL stack, we make use of a series of APIs to facilitate transfers by individuals and companies through a 3rd-party broker to destinations all over the world.

Primary roles include: Software architecture & development, hiring, and sprint management.

Accomplishments

  • Created a build-server system that listens for the creation of new branches in GitLab and spins up a copy of the app in a series of Docker containers based on that branch.
  • Oversaw the migration of a legacy codebase from Django 1.6 to 1.11 and Python 2.7 to 3.6
  • Increased test coverage 1200%
  • Integrated MoneyMover systems with the UK's international sanctions list to ensure financial transfers remain lawful.
  • Wrote an elaborate payments flagging system to track suspicious payment information.
  • Wrote the Python module for handling MT103 messages, the standard for Swift payments.

Notable Technologies Used

Agile Amazon Web Services Architecture Celery CI/CD CSS Django Docker Flask Git Javascript jQuery Linux Nginx PostgreSQL Python RabbitMQ

Gynii-Me

  August, 2016 - Present  |  Chief Architect/Side Project  |  gyniime.co.uk

I consult occasionally for a women's fertility platform. Primarily my role is advisory: I audit proposals from agencies offering to build the site and ensure that the medical data storage & transfers adhere to good security practices.

Notable Technologies Used

Architecture

Elder Nerd Ltd.

  January, 2016 - May, 2017  |  Owner

A freelance consultancy specialising in web architecture. I primarily helped companies with systems design and hiring & retention. My contracts included:

UK Trade (formerly UKTI): Technical architect

A short-term contract with the British government to help design & build some of their internal systems. As technical architect I directed the layout of two projects and one demo using some fun tactics like splitting Django forms across a REST API using metaclasses and scraping email into a calendaring system in real time.

Cyan/Connode: Senior developer

Contract work wherein I assisted in assessing & fixing a bottleneck in their energy readings & storage infrastructure and helped work out some kinks in the hiring & retention process.

Accomplishments

  • Helped win over upper management by spearheading a fast-tracked project and developing some crazy-interesting tech.
  • Designed a lightweight, security-focused two-stage API/UI architecture with some nifty mirroring magic keeping the project DRY.

Notable Technologies Used

Agile Amazon Web Services Architecture Celery CI/CD CSS Django Docker Flask Git Javascript jQuery Linux MySQL Nginx PostgreSQL Python RabbitMQ REST Shell Scripting

RxLenses.ca

  November, 2013 - March, 2018  |  CTO/Side Project

I served as the primary technical contact and software engineer. The site was a simple Django/Bootstrap blend, patched into a transnational ordering system.

Accomplishments

  • Designed and built everything from top to bottom.
  • Integrated credit card purchasing with the Django backend.

Notable Technologies Used

Architecture CSS Django Docker Git Javascript jQuery Linux Nginx PostgreSQL Python Shell Scripting

RIPE NCC

  August, 2012 - January, 2016  |  Software Engineer  |  ripe.net

As a member of the RIPE NCC's Research & Development department, I worked primarily on RIPE Atlas, a project implementing a highly scalable trans-continental infrastructure in an attempt to measure the Internet. I primarily maintained the user-facing tools: the website, RESTful API, the parsing library, Sagan, and the RIPE Atlas Toolkit.

Accomplishments

  • Revamped the website's entire user experience, and worked to integrate the satellite site with the overall RIPE NCC brand.
  • Was the primary developer for the RESTful API, including how it communicated with the Hbase backend.
  • Spearheaded, designed, developed, and continue to maintain Sagan a GPL'd parsing library used to make sense of the hundreds of terabytes of measurement data made publicly available through the RESTful API.
  • Helped facilitate and build relations between departments by encouraging the adoption of standards and building tools to accommodate the needs of multiple parties.
  • Was the lead engineer on the the RIPE Atlas Toolkit, a GPL'd command-line interface to the wider RIPE Atlas infrastructure.
  • Managed to write a threaded collection engine capable of dumping Twitter's live stream into a compressed archive, generating aggregates and statistics in real-time.

Notable Technologies Used

Apache Architecture Celery CSS Django Docker Git HBase Javascript jQuery Linux MySQL Python RabbitMQ REST Shell Scripting

Oxyor/MarketSims

  March, 2011 - August, 2012  |  Development Lead  |  marketsims.com

I was hired to build a community site and education portal focused on training and certification in the field of banking and investment. With a directive to focus on extendability over scalability, I was given free reign over technological choices and architecture, writing the entire server-side component. Thankfully though, the design component was handled by someone with more artistic skill. Some of the nifty stuff I built included some two-way video conferencing, a scheduler, integration with 3rd party trading simulators, and the first generation of my CSS/JS aggregator.

Accomplishments

  • Complete data architecture for the community site.
  • Wrote a complete real-time video conferencing component to the site that works 100% through the web browser and bills by the minute.
  • RESTful API server to handle interactions with 3rd party financial simulators.

Notable Technologies Used

Apache Architecture CSS Django Javascript jQuery Linux PHP PostgreSQL Python Shell Scripting Subversion

TheChange.com

  November, 2009 - May, 2010  |  CTO/Side Project

A company I co-founded, the site was meant to serve as a "platform for change", or a way for companies to reach out to the public (and other companies) to help make everyone involved develop a more sustainable way of doing business.

Notable Technologies Used

Apache Architecture CSS Django Javascript jQuery Linux PostgreSQL Python Shell Scripting Subversion

Work [at] Play Social Media Labs

  February, 2008 - November, 2010  |  Senior Software Developer  |  workatplay.com

W@P is a small social networking software company based out of Vancouver. With an office of roughly 30 people, they've managed to produce high-capacity sites for non-profits and Fortune 50 companies alike. For those interested in name-dropping, some of their biggest clients include Mattel, MTV, Budweiser, and the Knowledge Network.

Accomplishments

  • Served as mentor for various junior developers to help develop their skills
  • Managed teams of developers for multiple projects
  • Co-authored "Epic", a game statistics and leaderboard engine to serve as part of the greater Velocity software suite.
  • Served as development lead on a number of Drupal-based projects for high-profile clients.
  • Co-wrote a Perl-based automated remote data importing tool for a US government data repository using a variety of tools including OCR recognition with both Tesseract and OCROpus, and "screen-scraping" with Mechanize.
  • Co-wrote a deploy module for Drupal-based websites that made use of shared keys, Subversion and rsync to enable users to push code from one stage of testing to another, and eventually to production, all with a single button-click.
  • Designed and directed a team to build a multi-platform virtual economy engine and server capable of managing digital items, awards, quests, trades, purchases, and levelling in eight formats, over three protocols. Termed "Rally", the software is scalable, extensible and awesome.
  • Co-wrote the gateway API server for the Rally/Epic application. Termed "Arcade", it utilises the Kohana framework to serve as a lightweight intermediary between Rally/Epic and the untrusted masses.
  • Was the lead developer for Velocity the name given to the combined powers of Rally, Epic and Arcade mentioned here.

Notable Technologies Used

Agile Apache Architecture CodeIgnighter CSS Django Drupal Javascript jQuery Kohana Linux MySQL Perl PHP PostgreSQL Python REST Shell Scripting Subversion

Club Detailer

  October, 2007 - March, 2011  |  CTO/Side Project

A family business that I was involved with from its inception in 2007. The product was a vending machine that used a series of sonic generators and pumps coupled with a PLC and a tiny headless computer, to handle credit card transactions, remote monitoring, and operate the golf club cleaning process.

Accomplishments

  • Wrote a Python-based application that ran on top of the aforementioned embedded Linux platform and interfaced with a PLC over a serial connection to control the running of the machine.
  • Customised embedded Linux for a headless ARM system including getting a proprietary GPRS modem on a USB stick to play nice with the OS.

Notable Technologies Used

Architecture Celery CSS Django Git Javascript jQuery Linux Nginx PostgreSQL Python RabbitMQ REST Shell Scripting

Riptown Media

  November, 2006 - September, 2007  |  Software Developer

Riptown was the IT component to the larger Bodog entertainment empire. I wrote PHP software for their Battle of the Bands project as well as for the main Bodog Music site. We worked in an Agile programming environment on a one-week iteration cycle.

Accomplishments

  • Rebuilt a high-traffic website by refactoring mountains of legacy code slowly over time.
  • Developed a comprehensive multi-lingual MVC framework
  • Wrote a deploy system in Perl that automated the deploy process including branching, syncronisaiton, backups and rollback.

Notable Technologies Used

Agile Architecture CSS Javascript Linux MySQL Perl PHP Shell Scripting Subversion

Primus Telecommunications

  July, 2006 - October, 2006  |  Systems Analyst  |  primus.ca

Primus Canada is a large telecommunications corporation struggling to siphon market share from the established giants. Its primary business is long distance phone service, a functionality managed through VoIP technology.

Accomplishments

  • Maintained a series of 150+ servers including regular password changes, software upgrades and emergency diagnostics.
  • Custom scripting (Perl/Bash) for a variety of server-related tasks including password changes and monitoring.

Notable Technologies Used

Linux MySQL Perl Shell Scripting Subversion Unix

Rydium Online Advertising

  January, 2004 - July, 2006  |  Network Admin & Web Development  |  suite66.com

Rydium is a media representation company with approximately 300 websites in its network, selling targeted advertising to Fortune 500 companies across a network of various vertical markets.

Accomplishments

  • Built on and repaired hundreds of lines of legacy code.
  • FreeBSD and Linux Administration of both an office LAN as well as a remote server cluster.
  • Custom firewall development and maintenance.
  • Cisco switch administration.
  • QoS network management.
  • Split DNS administration for approximately 60 domains on two different networks.
  • Mail hosting of 15+ domains and administration including spam blocking and greylisting.
  • Webserver maintenance for 10+ custom projects.
  • Project management and task delegation.
  • Managed a cluster of Unix machines in a remote facility hosting a variety of services including HTTP, DNS, SMTP and MySQL.
  • Designed a complete security schema for our network and built an advanced router for load balancing with Linux Virtual Server.
  • Near-mastery of Object-Oriented programming (PHP).
  • Advanced database design theory and complex queries in MySQL.
  • Reverse-engineered a large-scale and complex ad-serving solution while working around poorly written legacy code.

Notable Technologies Used

Apache Architecture Bind CSS Exim FreeBSD Javascript Linux MySQL Perl PHP Shell Scripting Subversion

Trytel Internet

  November, 2002 - October, 2003  |  Web Programming: Development Team Lead  |  trytel.com

Trytel Internet was both a small ISP as well as a web development shop in Ottawa. Dealing with a variety of clients, we designed and built online products for large corporations like Merkley Supply and the Canadian Wood Council.

Accomplishments

  • Acquired extensive experience with PHP and MySQL in a team environment.
  • Client communication and management.
  • Built a complete development environment using Apache, MySQL, PHP and Gentoo Linux.
  • Construction of a multi-lingual content management system.

Notable Technologies Used

Apache Architecture CSS Javascript jQuery Linux MySQL Perl PHP Shell Scripting

Netgenetix Media Inc.

  April, 2001 - September, 2002  |  Db & Systems Admin, Web Programming & Design  |  netgenetix.com

Netgenetix is a small web development shop that specialises in large numbers of simple sites rather than larger, monolithic projects. They're currently based in Vancouver, BC.

Accomplishments

  • Built the company's entire intranet using Perl and MySQL
  • Built the company's only development environment using a Linux server solution

Notable Technologies Used

Apache Bind Exim Linux MySQL Perl Sendmail Shell Scripting

Moshpit Entertainment

  February, 2000 - March, 2001  |  Programming and Graphic Design

Moshpit was a game development and service provider that pioneered the online gaming industry by creating a system that would allow gamers to wager real money on their own performance in an array of available games.

Accomplishments

  • Helped to design (both visually and in Perl/JavaScript/HTML) a massive community website.
  • Advanced my knowledge of server software development in a Linux environment.

Notable Technologies Used

Javascript Perl Shell Scripting

eConquest.com

  November, 1999 - February, 2000  |  Programming and Graphic Design

eConquest was a small web development company based in Vancouver. Their technologies were primarily Microsoft-based and their client list included a variety of small and large companies.

Accomplishments

  • Helped to design (both visually and in Perl/HTML) a number of small sites for various clients using Perl and ASP

Notable Technologies Used

Javascript

Education

Simon Fraser University

  December, 1996 - December, 1998  |  General Arts  |  sfu.ca

Attended courses in world religions, African history, macroeconomics, and political science.

Vancouver Film School

  December, 1997 - December, 1999  |  New Media Division  |  vfs.com

Certificate of new media design.

Kwantlen Community College

  December, 2000 - December, 2001  |  Russian History  |  kwantlen.bc.ca

Russia from Lenin to Gorbachev. One course to learn more about something less technical.

Notable

  • Real social skills
  • Exceptional Nerf dart accuracy
  • I teach people how to code at Codebar sessions in Cambridge.
  • Two-time hackathon winner: once building a monitoring system for networks at the RIPE Atlas hack, and again building a diagnostic and coping tool for macular degeneration patients at the Sudo:Immerse hack.
  • Led two presentations and live demonstrations on software I developed at London Django Meetup.
  • Prepared and led a workshop for learning Python & Django at DjangoCon Europe 2015.
  • Author/maintainer of a number of reasonably popular Free software projects including Paperless, a document indexing system that's since been widely adopted by the community and forked into a variety of sub-projects, Aletheia a less-popular, but (I think, anyway) novel way to combat fake news / deep fakes online, Majel a voice-activated desktop automation system, and MT103, a parsing library for the Swift payments network.
  • Presented a personal project, "Aletheia" at PyCon UK (video).