Senior Back-end Engineer2019 - PRESENTHeycar.co.uk
Technologies: Python, Docker, Terraform, Bash, CloudFormation
- Developed data pipelines on AWS with Python and other technologies to support a React-based front end.
- Exposed an Elasticsearch database over REST through Django to allow searching from the front end.
- Developed dynamic image resizing using an image resize server.
- Analyzed data using Pandas, Plotly, and Jupyter Notebook.
- Programmed stock ingestion over FTP/SFTP for vehicle and dealer data.
- Deployed and maintained AWS infrastructure using Terraform and Terragrunt as well as CloudFormation templates.
- Automated the CI/CD pipeline using CircleCI.
- Enabled Django serverless deployments using Zappa.
- Automated Docker container build and deploys on AWS Fargate.
- Used AWS Step functions to run cron jobs using AWS Lambda.
- Automated setup of AWS VPCs, Subnets, and Security Groups.
Senior Developer2018 - 2019Adzumba
- Redesigned an email marketing campaign management tool.
- Developed an SMTP client for use in bulk marketing.
- Set up remote hosted server management using IPMI and VPNs.
- Updated host servers from Debian Lenny to Stretch.
- Moved unmanaged database tables into management with Django.
- Exposed the admin interface for managing database data.
Senior Engineer2017 - 2019Unobtainium, Ltd.
Technologies: Python, Linux, Reinforcement Learning, Machine Learning, PPO2, LSTM, TensorFlow, TensorBoard
- Managed storage of large datasets using FreeBSD/FreeNAS and ZFS filesystem.
- Managed physical network infrastructure such as virtual servers, network switches, and firewalls.
- Managed firewalls using pfSense and OpenVPN.
- Managed virtual servers using VMWare ESXi and Proxmox.
- Developed automated trading algorithms using Python and Websocket + REST APIs to connect to exchanges.
- Developed reinforcement learning algorithms using tick data from exchanges. Trained PPO2 algorithm with LSTM for memory of recent data.
- Analyzed data using Python, Jupyter Lab, and Pandas.
- Developed time series forecasting using ARIMA/SARIMA and Facebook Prophet.
- Conducted PPO2 tests and trained on top of TensorFlow GPU. TensorBoard was used for test and train analysis.
Senior Developer2017 - 2019Dentistmetrics
- Built an Angular front-end app with a Node 10 back end.
- Calculated, stored, and cached financial data from Xero.
- Charted financial data using D3.js.
- Made AWS ECS Deployments using Docker containers.
- Managed the domain using AWS Route 53.
- Analyzed and cleaned up data using Jupyter Lab, Pandas, and Matplotlib.
- Stored data on AWS S3 using CSV and Parquet Format.
- Developed and compiled servers in Node.js supporting an Angular front end.
- Used Django REST Framework and Django to supply financial data for the front end.
Senior Full-stack Developer2017 - 2017Bank of America Merrill Lynch
- Developed a Python/Django web app within a tightly controlled security environment.
- Trained junior team members.
- Audited security for Python library software for addition to an internal package server.
- Developed Python code standards and code review practices for our team.
- Managed the database using Microsoft SQL Server.
- Designed the front-end UI using Vanilla.js.
Full-stack Developer2016 - 2017Telegraaf Media Group
Technologies: AngularJS, Node, Python, Django, Elasticsearch
- Developed a REST API to serve all articles for all production news websites run by TMG.
- Added search functionality for all articles using Elasticsearch.
- Created a publish/subscribe queue for article created using RabbitMQ.
- Processed asynchronous tasks for long-running events and background error processing added using Celery.
- Enforced output schema for Articles on REST API using JSON schema tools.
- Created non blocking I/O server for Elasticsearch using Node.js.
Senior Developer2015 - 2016Brth.rs
- Built a REST API using Ruby on Rails.
- Developed a single-page app using AngularJS.
- Interfaced with client APIs including implementation of OAuth.
Senior Developer2015 - 2016Telecombinatie
Technologies: Google App Engine, Backbone.js, jQuery, REST, Bootstrap
- Developed a single-page app using Backbone.js, jQuery, and Bootstrap.
- Developed a REST API on Google App Engine.
- Integrated Django with GAE.
Technical Lead2015 - 2016Lukkien
- Developed a SOAP API layer that mapped Microsoft Dynamics CRM calls into REST API calls that could be used by our website.
- Set up and configured the search server using Haystack and Solr.
Lead Developer2015 - 2016DreamDeco BV
- Set up a CDN on AWS to serve all static files for all international sites.
- Developed a REST API to serve the iOS app version of the website.
- Managed user accounts with Facebook login.
- Integrated Google Analytics.
- Built a dynamic image resizing server/API to support user uploaded images being delivered at optimal size for mobile and web.
- Processed the content feed to automatically keep lists of products on the site up to date.
Embedded Engineer2014 - 2015EnviroCal
Technologies: Labview, C, SPI Bus, Analogue Devices AD7793
- Integrated Labview with AD7793 ADC.
- Utilized MATLAB + C for communicating over SPI Bus (3 wire serial).
- Modeled temperature data using MATLAB.
Python Developer2014 - 2015Swizly
Technologies: Python, Django, Graylog, Sentry, RabbitMQ, Celery, Chronos, Mesos, Ubuntu
- Utilized Facebook Graph API, Twitter API, and LinkedIn API.
- Managed a Linux server via Amazon AWS and DigitalOcean.
- Set up Graylog, Fabric, MySQL, and MongoDB.
Software Developer2013 - 2015Scarrold Technologies
Technologies: Python, REST APIs
- Developed an app to update financial records on Xero.
- Used the Xero API and wrote an API interface layer in Python, modeled in a similar way to Django's ORM layer.
- Wrote an entire API layer for the Trade Me REST API. Used this API layer to transfer data to Xero.
- Worked with PrestaShop API and interfaced this with the two other API layers to complete a system managing data and communications from three locations.
- Handled the DevOps role at this company, involving deploying software into a Windows environment.
Python Developer2014 - 2014Elements Interactive
Technologies: Python, Django, AngularJS, PostgreSQL, HTML, CSS, Raven, Sentry, Confluence, Atlassian Jira, Scrum
- Built a single-page app using AngularJS.
- Developed a REST API using Django REST Framework to supply the Angular app with data.
- Built an image caching and resizing server.
- Built a custom CMS for the website.
Python Developer2013 - 2014Yellow
Technologies: Python, Django, Google APIs, DevOps
- Worked with Google AdWords API to produce software to automatically manage AdWords campaigns and budgets to meet client needs.
- Implemented asynchronous task queues using Celery to deal with long running tasks, removing them from the web front-end (or cron) and pushing them to the background using separate processes. Enabled far higher CPU utilization and greater website throughput.
- Implemented automatic build and deploy tools, easily available to both technical and non-technical staff on the product team.
- Increased test coverage significantly by promoting the importance of testing and implementing a Jenkins server, particularly for the junior developers. Wrote tests for much of the legacy code in our project to aid this goal.
- Built a tool for analyzing performance statistics for ad campaigns, allowing sales people to target clients using specific information about their current and future needs.
Software Developer2012 - 2014Auckland University
Technologies: Python, C#
- Added gaze tracking support to the open source Python software PsychoPy.
- Used an open source ITU Gaze Tracking library in C# and interfaced it to PsychoPy.
- Built a gaze tracking UI using C# and XAML.
- Set up the gaze tracking hardware (camera and infrared LEDs) on a head-mounted frame and interfaced these to the software.
- Used Python for a .NET library to integrate C# DLLs into PyschoPy.
Java Developer2012 - 2013Trailtrax
Technologies: Java, ActionScript, C#
- Developed the front-end for GPS software using ActionScript.
- Worked with a C# engine for translation of GPS data over a long range radio.
- Managed Ubuntu GPS servers.
Research Engineer2011 - 2012Industrial Automation Research Group
Technologies: TinyOS, uC/OS, TI CC430, TC CC1110, SPI, I2C, SimpliciTI, Zigbee, Labview
- Researched porting an RTOS for the Texas Instruments CC430 microprocessor.
- Developed in C on TI CC430 and TI CC1110 (8051) using TI CCStrudio.
- Designed SPI protocols between CC430 and CC1110.
- Developed a wireless sensor network (WSN) using a custom protocol over the top of the Simpliciti protocol.
- Programmed and implemented Beckhoff CX1010 industrial controller and National Instruments Compact RIO controller using LABVIEW.
Web Developer2006 - 2010Ecolab
- Managed Windows Mobile handheld assets for the pest division.
Embedded Engineer2006 - 2006Cross Street Artist Collective
Technologies: C/Assembly on Atmel Mega8 and Mega16, JTAG, I2C, PS/2
- Developed a three wheel robot drive algorithm in C/ASM.
- Built an LCD control via I2C.
- Integrated IR and ultrasonic sensor data for collision avoidance.
- Created distance tracking using IR sensor over PS/2.
- Generated PWM on ATMega8 for motor speed control.
Embedded Engineer2006 - 2006Compac Industries
Technologies: C on Atmel AtMega32, JTAG, Serial UART, RS232
- Developed in C on AtMega32.
- Read from and communicated with remote sensors.
- Designed and developed interactive terminal + communications protocols over RS232.
- Analyzed, designed, and repaired circuits.
- Prototyped electronic devices.