Senior Developer2017 - PRESENTDentistmetrics
Technologies: Angular 7, Python 3.7, TypeScript, NgRx, Docker, Django, REST
- Developed a web app serving an Angular front end with data over REST API from a Django-based back end.
- Calculated, stored, and cached financial data from Xero.
- Charted financial data using D3.js.
Senior Developer2018 - 2019Adzumba
- Redesigned an email marketing campaign management tool.
- Developed an SMTP client.
Senior Full-stack Developer2017 - 2017Bank of America Merrill Lynch
- Developed a web app.
- Trained junior team members.
Full-stack Developer2016 - 2017Telegraaf Media Group
Technologies: AngularJS, 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.
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.