Paul M Furley, Developer in Liverpool, United Kingdom
Paul is available for hire
Hire Paul

Paul M Furley

Verified Expert  in Engineering

OpenPGP Developer

Location
Liverpool, United Kingdom
Toptal Member Since
July 15, 2015

Paul is a solid engineer and an energetic teammate. He started his professional career writing high-speed C++ but now prefers Python on Linux. Most recently, he co-founded a startup as lead developer and previously spent six months with the UK Government Digital Service. He loves efficient organizations with a strong testing philosophy and focus on quality.

Availability

Part-time

Preferred Environment

Git, Vim Text Editor, Ubuntu Linux

The most amazing...

...thing I've built was the software stack for a digital printing machine, from a PyQt operator GUI down to Arduino-powered machine control.

Work Experience

CTO and Lead Developer

2014 - 2015
Sea Level Research, Ltd.
  • Developed a RESTful API using Django REST Framework 3.
  • Built a mobile-first front-end using React.js and Bootstrap 3.
  • Configured back-end machines with Ansible, deployed from Jenkins.
  • Automated API deployment using Heroku and PostgreSQL.
  • Carried out customer discovery with Liverpool Pilots then managed and prioritized the product backlog.
  • Built the entire front- and back-end stack for an electronic tide tables application.
Technologies: Jenkins, Ansible, PostgreSQL, JavaScript, React, Python, Django

Data Scientist/Software Engineer

2013 - 2014
ScaperWiki, Ltd.
  • Built data scrapers and aggregators, pulling, cleaning, and normalizing data from awkward sources.
  • Developed reusable helper libraries and new tooling to speed up development and ease the maintenance burden.
  • Introduced the team to unit testing and test-driven development.
  • Worked with investigative journalists to acquire and aggregate thousands of company records, supporting a corruption investigation.
Technologies: Requests, SQLite, Linux, Python

Developer

2013 - 2014
Government Digital Service (UK)
  • Introduced my team to Django, kicking off the Stagecraft project which allows non-technical users to create new dashboards and achieve scale.
  • Used my experience of scraping poor-quality sources to build reliable collectors for government data.
  • Maintained a Linux web stack with Varnish, nginx, Gunicorn, Django/Flask, MongoDB, and PostgreSQL.
  • Improved reliability and repeatability with continuous integration scripts for Jenkins & Travis.
  • Built automated tests for a Flask/MongoDB storage back-end system.
Technologies: MongoDB, PostgreSQL, Python, Flask, Django

Software Engineer

2011 - 2013
BAE Systems Applied Intelligence
  • Developed high-speed C++ software using STL and Boost and targeted at 64-bit Linux.
  • Ported and refactored a legacy C application into modern C++ with STL, Boost, and Protobuf.
  • Developed a C++ libpcap application to inspect NAT sessions.
  • Created an automated test harness in Python to inject test data into our C++ applications.
  • Worked day to day with Wireshark, inspecting protocols such as TCP, SSL/TLS, and FTP.
Technologies: Wireshark, libpcap, Transmission Control Protocol (TCP), Python, Boost, C++

Software Engineer

2009 - 2009
JF Machines, Ltd.
  • Built an entire operator user interface for PicoColour digital printing press using Python and PyQt.
  • Built an ink system controller using Arduino to replace conventional Programmable Logic Controllers (PLCs).
  • Created image preparation software, integrating with Ghostscript, ImageMagick, and Python Imaging Library.
  • Researched and created image manipulation "screening" techniques to improve print quality.
  • Created a high-speed C++ image processing module in with Cython interface for use in Python.
Technologies: PIL, Arduino, C, PyQt, Python

EncryptIt

https://github.com/fawkesley/encryptit
EncryptIt is a Python implementation of the OpenPGP standard. Its primary objective is to provide a means of decoding OpenPGP binary files into JSON format, thereby simplifying the complex structure defined by the OpenPGP specification. The project aims to become the fully testable and easily comprehensible implementation of OpenPGP available. Therefore, in the development process, I have placed a higher emphasis on achieving clarity rather than focusing solely on functionality.

Languages

C, Python, JavaScript, HTML5, SQL, Go, C++, CSS3, CSS

Frameworks

Flask, Django, Django REST Framework, Bootstrap 3, Boost

Libraries/APIs

Django ORM, React, Requests, libpcap, PyQt, PIL

Tools

GPG, Ansible, Wireshark, Vim Text Editor, Git, Jenkins

Platforms

Linux, Amazon Web Services (AWS), Arduino, Heroku, Ubuntu Linux

Storage

PostgreSQL, SQLite, MySQL, MongoDB

Other

OpenPGP, Scraping, SSL, Public-key Cryptography, Transmission Control Protocol (TCP), Cryptography

Paradigms

Agile Software Development, Test Automation

2005 - 2009

MEng 1st Class Degree in Electronic Engineering

University of Durham - Durham, United Kingdom

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring