Work experience

I have 10+ years of experience building full stack web apps, with a focus on non profits and companies with a social purpose. I’ve spent the last 4 years working remotely for Ushahidi, leading development on our flagship application, and now managing the distributed development team.

I have taken projects from day zero through to launch, and iterating beyond. I enjoy both carefully architecting a system for the future, and just sprinting to launch when needed. I like to work close to users, be driven by their needs and deliver a great experience.

I tend to a collaborative working style, but enjoy the uninterrupted periods of independent work.

Skills & Experience

  • Managing a distributed development team, defining tech direction and development process.
  • Full stack web development, primarily in PHP and JS (AngularJS)
  • Object orientated architecture design and programming, including MVC frameworks, SOLID principles, Clean Architecture.
  • Leading an open source project, and working with the wider user and developer community.
  • Automated/continuous deployment setup.
  • Some technologies I’ve used include: PHP, Javascript, Sass, Python, Laravel, AngularJS, MySQL, PostgreSQL, Nginx, Docker, Ansible, Git.. I’ve even spent some time hacking on FirefoxOS.

Work Experience

Ushahidi – CTO 2015 - Present

  • Leading Ushahidi’s tech team for Ushahidi’s products
  • Setting technical direction for Ushahidi’s products (Ushahidi and RollCall)
  • Improving development process
  • Improving software quality
  • Built culture of code review and testing

Ushahidi – Lead Developer 2014 - 2015

  • Lead developer Ushahidi 3. Lead the rebuild of Ushahidi’s flagship mapping and data gathering tool.
  • Took the project from prototype through to launch
  • Launch SaaS edition of Ushahidi v3, based on OSS product
  • Defined clean architecture for Ushahidi v3 API and Client

Ushahidi – External Projects Developer 2012 - 2014

  • Main technical contact and lead developer on custom Ushahidi deployments for external partners.
  • Working within an existing legacy code base. Fixing security issues.
  • Deployed and managed servers for client projects.
  • Security Lead. Acting as main contact point for security issues and planning.

Torchbox Ltd – Drupal Web Developer 2010 - 2011

  • Developed complex Drupal based sites for charities and non-profit organisations.
  • Developed specifications for full Drupal sites, or enhancements.
  • Scaling and optimising complex Drupal sites using varnish, nginx, memcache, static caching, PHP profiling, and database replication.
  • Building tools for fast, standardised development and deployment.
  • Building debian packages.
  • Configuring and managing LAMP servers.

Greenpeace New Zealand – Web Developer 2009 - 2010

  • Developed web applications and websites.
  • Managing websites and social media feeds during live events under high load.
  • Used the web for social change campaigning.
  • Online fundraising and analysis of fundraising platforms to improve results.
  • Developed and maintained a large Drupal site.
  • Security testing and fixes on online shop.
  • Integrating multiple sites with Payment Express for credit card processing.
  • Linux server administration – managing multiple virtual servers, LAMP configuration, PostgreSQL, bash scripting, vsftp, automated backups.

Engineers Without Borders NZ – Web manager (Volunteer) 2008 - 2010

  • Web and IT Manager for Engineers Without Borders NZ.
  • Managed the website content and platform (Drupal CMS).
  • Developed online payment (donation) and membership system.
  • Member of the founding committee for Engineers Without Borders NZ.

Self employed web development 2002 - 2009

  • Developed websites and database applications for clients and provided website design/development, database design and basic graphic design.
  • Developed custom web applications based on Silverstripe CMS.
  • Delivered a content management system using Jojo CMS (jojocms.org) and provided custom plugins for the CMS.
  • Set up and management of Linux web servers.

Genesis Interactive – Web Developer
 Summer 2007 - 2008

  • Developed web based applications and websites for clients. Implementing full sites from an overall design provided by a graphic designer.
  • Improvements to existing in-house content management system.
 Including adding a new AJAX based content administration interface and security fixes.
  • Developed a stock and inventory tracking component for the company’s flagship customer relations management (CRM) system – LiveCRM.
  • Improvements to client’s CakePHP based web application.
  • Set up a linux development server. Including Apache/PHP/Mysql, Mercurial and SVN for version control, Trac issue tracking, incremental backups, and Webmin control panel.
  • User acceptance testing (UAT) on car navigation software and hardware.
  • Development of test cases for new handsfree kit product lines – F40, F50 & S Series products.

Education

University of Auckland. Bachelor of Engineering (Computer Systems). Graduated 2009.

Side projects