Michael P. Jones
Available for contracting in Manchester, UK, or remote.
I have years of experience leading teams, creating software and developing web applications. I am an passionate developer with a love of programming languages.
I am enthusiastic about team organisation, structuring meetings, group culture, 1-on-1s and retrospectives.
January 2020 - Present
Set up & run contact-stack.com as an independent business and end-to-end learning opportunity. Designed, implemented & marketed the full product. Created with Elixir, Phoenix, Postgres & Stripe integration. Developing tangotimetable.com and other projects. Interested in opportunties to support teams in a technical and organisational manner.
Senior Engineer & Team Lead, Zaptic
April 2015 - January 2020
Led of team of 4 developers, coordinating work and providing support, 1-on-1s, learning opportunities and guidance. Key contributor to improving company culture around meetings, documentation and tooling.
Responsible for front end & back end work on a process execution platform in a start up environment. Managing an Elm, Typescript & Postgres stack with exposure to user interfaces, server side development, database interactions and AWS infrastructure.
October 2013 - April 2015
Sole developer of tangotimetable.com. Designing and implementing a Django-based Python web application for building community calendars. Front end created with React.js & Elm. Responsible for the full stack from Linode hosting with Postgres & Apache on Ubuntu Server with Docker containers to the application code and front end design. Newer functionality has been added with Elixir & Phoenix.
Web Developer at Radius Payment Solutions. 4 month contract helping to launch a new initiative around their vehicle telemetry product. Providing a web dashboard for analytics and configuration written with Django and communicating with 3rd party telemetry APIs.
Software Developer & Team Lead, Weta Digital
September 2010 - October 2013
Responsible for leading a team to design and create a natural tree growth system for use in the Peter Jackson Hobbit films. Coordinating with department leads and artists over features, bugs and release schedules.
Application and tool development in C++ and Python in a world leading visual effects studio. Extensive use of the Autodesk Maya C++ SDK. Qt/Python interface development to improve the artists' workflow.
Research & Development Technial Director, Animal Logic
February 2010 - August 2010
Supported effects team artists on animated feature including C++ rendering tools, particle system visualisation and implementing a command line navigation and shortcut system in Python which was adopted company wide.
Research & Development Programmer, Double Negative
October 2007 - January 2010
Responsible for maintaining and extending the proprietary Maya-Renderman interface. Worked closely with different teams, implementing features to enhance the workflow and quality of the production. Conceived and implemented development and pipeline tools with database support, commandline access and web interfaces. Planned and delivered courses on Python programming and use of the shell for artists in the company.
Technical Director, Framestore
November 2006 - October 2007
Visual effects and pipelining on Oscar & Bafta winning film The Golden Compass. Created a C++ spring-based fat dynamics system for the digital bear characters. Involved interacting with the users, providing support and extending the application based on feedback.
Stay in touch with your friends through regular reminders over time frames that you control. Built with Elixir & Phoenix.
Dance Timetable Network
Community calendaring websites built with Django & React.
A FUSE filesystem for Alembic files.
It allow you to mount an Alembic file as a directory and explore the contents as a hierarchy of subdirectories and files.
A basic implementation of a Kd-tree.
Templated on the data type and number of dimensions.
A Doxygen-Sphinx bridge.
An extension to reStructuredText and Sphinx which is able to read and format the contents of Doxygen XML files. It extends Sphinx's support for displaying language & API documentation to all the languages support by Doxygen. Development has a strong emphasis on supporting C++.
Convert Sphinx output for use with Github pages
A Sphinx extension and command line tool that prepares the output of Sphinx to be suitable for use with Github pages.
A map-based import hook for Python.
Supports encoding the module name and its location into a PYTHONPATH-like environment variable which is parsed at runtime and used for faster imports. Aimed at avoiding the standard Python linear search through the PYTHONPATH to find a module which can be slow for large numbers of entries over a network.
Restructured text role for keyword based external links.
Enables a documentation strategy in which the maintainers of a project can publish a Python module with up to date links for documentation based on keywords. Other projects wanting to link to the appropriate documentation only need to use the keywords and latest published module to stay up to date.
Helper classes for initializePlugin & unintializePlugin.
Aims to reduce code duplication between the two associated functions by abstracting down to a single set of calls.
Provides inheritance based approach as well as experimental basic template meta-programming approach.