Jules May, Developer in Dundee, United Kingdom
Jules is available for hire
Hire Jules

Jules May

Verified Expert  in Engineering

Software Developer

Location
Dundee, United Kingdom
Toptal Member Since
January 20, 2017

A systems architect, project manager, mathematician, and programmer with a long history of implementing novel solutions to real-world problems, Jules likes handling challenging mathematical problems and has a taste for safety-critical and high-reliability development. He is a regular conference speaker and author of "Extreme Reliability: Programming Like Your Life Depends on It" (leanpub.com/extremereliability).

Portfolio

Confidential Client
Architecture, Algorithms, Graphics Processing Unit (GPU), GPU Computing...
Client confidential
Compilers, Go, Compiler Design, SQL, PostgreSQL, Parsers, Optimization...
Avala AI
Django, Flutter, Android, iOS, 3D Math, API Design, Architecture...

Experience

Availability

Full-time

Preferred Environment

Flexibility, C++, Reliability, Flutter, Embedded Systems, Device Drivers

The most amazing...

...project I've worked on is a compiler that made programs for a highly optimized pattern detector. I designed the language and its mathematical foundation.

Work Experience

Senior Developer

2023 - 2023
Confidential Client
  • Designed a series of metrics to understand the performance of physical hardware, virtual instances, and containerized resources.
  • Developed an app that implemented those tests and output results to a back-end service. Much of this work required getting down to driver-level, so we could be sure we were testing the actual resources we thought we were.
  • Validated the app and its measurements against several different instances, specifically physical, virtual, and containerized, to ensure the metrics were truly accurate and portable.
  • Wrote the white paper, which introduced the ideas to the business, the sales team, and customers.
Technologies: Architecture, Algorithms, Graphics Processing Unit (GPU), GPU Computing, CPU Boards, Hardware Design, Intel, AMD, ARM, VMware ESXi, VMware, Hardware, Performance, Telemetry, OpenTelemetry, C, C++17, Low-level Programming

Developer

2022 - 2023
Client confidential
  • Acted as a developer with compiler experience and an understanding of database engine infrastructure. Participated in the design of an infinitely-elastic relational database architecture.
  • Engaged in a role that involved extensive research into competing products, often at the level of reviewing source codes.
  • Developed a formal theory of distributed data in addition to the standard relational algebra.
Technologies: Compilers, Go, Compiler Design, SQL, PostgreSQL, Parsers, Optimization, Distributed Computing

Architect Developer

2021 - 2022
Avala AI
  • Re-architected the failing mobile app. Delivered several cycles of refactoring even while feature development continued.
  • Began the process of introducing comprehensive regression tests.
  • Participated in recruitment, helping to design the recruitment pipeline and taking responsibility for the developer take-home challenges.
  • Provided design support and mentoring to the more junior team members.
  • Specified, delivered, and maintained a complex solver for extracting 3D inferences from 2D images and correlating the inferences across multiple images.
Technologies: Django, Flutter, Android, iOS, 3D Math, API Design, Architecture, Computer Vision

Architect and Developer

2021 - 2021
Picknicker Consulting UG
  • Architected the overall system distributed between sites in the Philippines and Singapore, designing for reliability, maintainability, and fault tolerance.
  • Researched and managed the specification of the BLE triangulation algorithms, extracting useful data from the (admittedly) poor telemetry that the BLE 5.0 beacons offered.
  • Developed the infrastructural services and the bus protocols to deliver reliable and fault-tolerant communication with the head office (the terminal was in the middle of a jungle).
Technologies: Docker, Docker Compose, Bluetooth LE, Python 3, Message Bus, Mosquitto, AWS Lambda

Engineer for a Uber-like Routing Project

2020 - 2021
Vellity
  • Designed and specified the technical architecture to migrate the existing, half-finished design to a complex real-time delivery service. Worked on the AWS serverless back-end, re-purposing the Laravel front-end and developing a Kotlin app.
  • Directed a small team of developers to construct the design over a period of a year.
  • Managed the re-development of the mobile app in Flutter. Worked on the complex real-time app, integrating messages from server and intelligence and contributing to the app's optimization.
  • Worked on the key part of the commercial proposition, which was the optimization of drivers' routes. Designed novel constraints and an optimization approach and coded it into the app.
Technologies: Flutter, Kotlin, Android SDK, iOS, Mobile, APIs, Amazon Web Services (AWS), Serverless, Laravel, Geolocation, Firebase, Firebase Cloud Messaging (FCM), Routing Optimization, Security, Mapping, Google Maps, Waze, Apple Maps API, Leadership, AWS Amplify, Dart, Technical Leadership, REST, REST APIs, AWS Lambda

Lead Developer | Path/Ray Tracing

2020 - 2021
Solemma
  • Extended the exiting open-source ray tracer to replicate materials previously coded in Radiance. Even though LuxCoreRender used a very different model of light to Radiance, it was important that the results were identical.
  • Worked on every additional material that needed to work identically in multithread CPU code and GPU code (OpenCL) and was tested on a range of different hardware.
  • Extended and developed LuxCoreRender's shell application to make LuxCoreRender accessible to the client's existing (C#) development.
  • Diagnosed and fixed several bugs in LuxCoreRender and contributed them to the project.
Technologies: 3D, 3D Math, C++11, Ray Tracing, LuxCoreRender, Bidirectional Scattering Distribution Function (BSDF), OpenCL, C#

Developer

2019 - 2020
Support.com
  • Architected a technically feasible solution for the client's screen-sharing, remote-control app that they wanted to port to UWP and Windows S mode. Much of the behavior was prohibited by the UWP model.
  • Wrapped the existing code in a Desktop Bridge package for the client's product, which had been developed to work under MFC, but which they wanted to be able to put into the Windows Store.
  • Helped modify the native part of the code to work around security limitations of both UWP and Windows S mode while maintaining backward compatibility with the single codebase.
  • Designed the delivery process and informed the minimal set of back-end changes required to support delivery through the Windows Store instead of the client's website.
Technologies: Desktop, C#, C++, Universal Windows Platform (UWP), Windows

Senior Computing Scientist

2018 - 2018
Adobe
  • Designed and demonstrated a strategy to enable versioned data storage. The system had to include both historical records and putative future records and had to be retrofitted to the existing system without any forced changes to it.
  • Designed, developed, and led technical efforts on a project to replace an existing aggregation Node.js with a fully validated version.
  • Led the academic outreach team, recruiting graduates from local universities and raising joint projects.
Technologies: Amazon Web Services (AWS), Requirements Analysis, Serverless, EventStore, Technical Leadership

Audio Developer

2017 - 2018
Voicescript
  • Converted a (defective) implementation of a voice detection algorithm from Matlab into C++.
  • Corrected the defects and improved the performance.
  • Converted from batch processing to stream processing.
  • Scoped and designed further developments, including speaker tracking and noise removal.
Technologies: Audio, C++, MATLAB

Protocol Designer and Developer

2017 - 2018
Trinity
  • Contributed to designing and testing a new internet protocol that the company was formed to develop and exploit. This required a detailed understanding of the IP protocol stack and especially the characteristics of the various forms of TCP.
  • Wrote the implementation of the new protocol. The code had to be entirely transportable between PCs, mobile devices, and servers.
  • Participated in the design of measurement and test protocols, so we could understand how our protocols behaved compared to existing solutions.
Technologies: Transmission Control Protocol (TCP), C++

Data Scientist

2017 - 2018
Global Data
  • Developed an evaluator that used Bayesian reasoning over correlations to mine relationships from multivariate unstructured data.
  • Architected an algebra over probability distributions, so distributions could themselves be correlated. The system could interpolate missing values for graphing and extrapolate for prediction, with confidence intervals built in.
  • Delivered the analysis the client's client was seeking successfully.
Technologies: Bayesian Inference & Modeling, Python

Low-level Database Service Developer

2017 - 2017
Exponential
  • Developed a code to replace an approximately 1GB database suffering from a one-second response time with an 80MB database with around a five-millisecond response time.
  • Researched and implemented highly-efficient storage and search algorithms. Tuned them for optimal L1 and L2 cache access and transparent multi-core support.
  • Exposed the database as a web service so it could be used efficiently in the existing network.
Technologies: Performance, Algorithms, Web Services, Database Applications, C++

Consultant

2015 - 2016
Keysight Technologies
  • Developed specialized hardware for digital triggering. The hardware had been prototyped. My role was to design and develop a toolchain to program it.
  • Designed a language, Newt, to express complex triggering patterns.
  • Architected the mathematical foundation by which a compiler could be constructed.
  • Designed and developed a compiler (in C++) to turn Newt codes into various types of hardware models.
  • Contributed to the continuing development of the hardware (in Verilog) in order to maximize performance and generality.
Technologies: Project Management, Embedded Software, Mathematics, Algorithms, Compilers, Construction, FPGA, C++11, Verilog, Technical Leadership

Consultant

2014 - 2015
Trainline.com
  • Led the technical design and development of Journey Planner, a key component of the commercial proposition. The objective was to avoid conventional solutions in favor of one which could deliver some additional value to the business.
  • Researched, applied, and explained the core mathematical foundation.
  • Designed, developed, and communicated the function of the architectural foundation.
  • Provided initial development, road mapping, and technical lead through the development cycle.
  • Introduced F# into the company's development process.
  • Wrote, in one week, a compiler which saved the company £1.2 million per year.
  • Spearheaded a data mining project. Initial results contributed to redirecting the company's strategy.
Technologies: Data Mining, Algorithms, Mathematics, BizTalk, Architecture, C#, C++11, F#, Leadership, Optimization, Technical Leadership

Software Specialist | Consultant

2013 - 2014
Senergy Group
  • Led numerous technical projects operating under business development/innovative products and services. They originated and researched ideas and existing IPs from within and without the business and then delivered those ideas as turnkey products.
  • Elicited requirements and ideas from stakeholders.
  • Researched and gathered technologies and personnel.
  • Designed the systems, managed the development effort, and took a leading role in core development tasks on several projects.
  • Contributed to commercial and business planning and participated in IP registration.
Technologies: R, Android, Java, LAMP, SQL, PHP, Leadership

External Supervisor

2011 - 2014
University of Aberdeen, Institute of Mathematics
  • Initiated a project in which, for their final-year project, undergrads in mathematics tackled real, commercial problems which we had within our development team.
  • Integrated a way to expose students to opportunities to use their skills in industrial and engineering contexts rather than just academic ones.
  • Sought out and characterized in mathematical terms suitable tasks and conveyed them to the institute and students.
  • Provided ongoing supervision and guidance and participated in the final marking.
  • Helped transfer the solutions the students found back into the development team.
Technologies: Mathematics, Technology Transfer, Higher Education, Supervisor, Mentorship

Software Development Manager

2012 - 2013
Senergy Group
  • Managed a department of 22 developers and two project managers, developing two home-grown programs (over three million lines) and several third-party assets.
  • Oversaw budgeting, recruitment, project scoping, and delivery and implementing all quality standards.
  • Oversaw the transition from ad-hoc development to fully-Agile processes.
Technologies: Fortran, C++, C#, Change Leadership, Technical Leadership, Architecture, Agile

Technical Architect

2011 - 2012
Senergy Group
  • Directed the core, architecture, and futures team, which re-architected the company's entire product range and future-proofing the business roadmap.
  • Oversaw architectural design, team leadership, prototyping, and toolmaking.
  • Communicated and evangelized the new structures to programmers outside the futures team and sold the ideas to non-technical stakeholders.
Technologies: C++, C#, Leadership, Architecture

Senior Developer

2009 - 2011
Senergy Software, Ltd.
  • Developed and delivered a radical approach to rectifying and analyzing wireline image logs based on cross-correlations.
  • Architected the project to work as part of a desktop app when embedded on down-hole hardware and deployed onto GPU arrays.
  • Handled conception and design as well as mathematical and theoretical foundations.
  • Submitted the product for a patent, specifically GB1016556.1, Methods for providing for correcting data and associated apparatus.
Technologies: Graphics Processing Unit (GPU), Embedded Systems, C++, C#, Image Processing, Mathematical Modeling, Mathematical Analysis

Web Developer

2008 - 2009
NHS Education Scotland
  • Collaborated with a teammate to develop this high-load, highly visible, and politically-sensitive internet-delivered service.
  • Implemented a website with a complex, extended-time, multi-agency workflow. Even though deadlines were set before the project began, requirements were generally conflicting and were still changing even after the deadlines had passed.
  • Designed and developed an innovative user interface to explicate complex workflow to untrained (and highly-stressed) users.
  • Catered to system demands for multiple, complex security and confidentiality requirements at some points of a national security level. We designed security into the heart of the system.
Technologies: Microsoft SQL Server, Visual Studio, C#, ASP.NET, Web UX, Web Security

Conference Speaker

http://sddconf.com/
I am a regular speaker at conferences, including SDD, DevWeek, and Software Architect. My next appearance will be at SDD in May in London.

Repertoire includes:
Full-day workshops:
• Introduction to F#
• Introduction to problem Space Analysis
• Quantum computing primer
• Programming like your life depends on it
• GPU programming for AI and ML
Lectures:
• If considered harmful
• Building great teams
• High-frequency continuous delivery
• Data is not code
• Introduction to Lean software development
• Privacy for Architects
• Closures: the third programming revolution
• Technical debt - how to scare your boss into doing the right thing
• Version control for data
• How to build an infinitely elastic, highly-performant, relational database
• Hello, Quantum World

Angus Open Studios Website

I was approached by Angus Open Studios, an artists' cooperative in northeastern Scotland. Their web developer had let them down, and they needed a website up and running in six weeks. Though an outline design was done, there had been no development at all.

The very unique needs of AOS meant that no existing framework was suitable, and they had a budget of zero. I was able to create a website, a basic admin console, personal login and page editors for each member, and tracking support, all in vanilla LAMP. I also handled the legal formalities.

The website ran for four years, during which I added further tracking, more admin facilities, and more member support.

The Inventor's and Innovator's Kick-start Guide

https://www.amazon.co.uk/Inventors-Innovators-Kick-start-Guide-Commercialise/dp/0954999509/
My first full-length book! I lead the reader through all the stages of innovation, from finding ideas to commercializing them. It was an Amazon best-seller for several years. Kindle sales are still trickling in.

Archery Competition Timer

Archery competitions are subject to complex timing rules, and through commercial devices are available, they're very expensive, and few competition organizers or governance organizations can afford them. Scottish Archery Association's Northern Area had a machine that had been hand-built some twenty years before, and although it was a bit "Rube Goldberg," it worked. Unfortunately, it was not compliant with modern rules.

NA asked me to reprogram it. Although the current rules are much more complex, I was able to fit them into the ½ kb of program memory that the (utterly obsolete) chip afforded.

The project was so successful that the timer is now used at most NA competitions. I have requests to build more, and I am currently redeveloping the design into a more modern, more sophisticated system.

Extreme Reliability: Programming Like Your Life Depends on It

https://leanpub.com/extremereliability
A major book that is in the final stages of pre-production. It talks about how to achieve perfectly functioning software at an industrial scale.

I teach courses and give seminars using this material, and I also provide consultancy to failing projects and greenfield developments.

Languages

Python, C, Python 3, C#, C++, PHP, Scala, Kotlin, Rust, Embedded C++, Java, F#, R, Verilog, C++11, SQL, Fortran, Dart, VHDL, Verilog HDL, Go, C++17, PHP 7

Frameworks

Flutter, Android SDK, ASP.NET, OpenCL, Laravel, Django

Libraries/APIs

Sockets, Visual Studio SDK, Google Maps, Apple Maps API, AWS Amplify, REST APIs

Tools

Visual Studio, SharpDevelop, MATLAB, Firebase Cloud Messaging (FCM), Docker Compose, VMware, Supervisor, LaTeX

Paradigms

Requirements Analysis, Asynchronous Programming, Parallel Computing, Distributed Computing, Mobile Development, Functional Programming, Compiler Design, Concurrent Programming, Agile Software Development, Continuous Delivery (CD), Data Science, Microservices, REST, Agile

Platforms

NVIDIA CUDA, Unix, Universal Windows Platform (UWP), Linux, Windows, NetBeans, Android, Docker, Amazon Web Services (AWS), Firebase, Xamarin, AWS Lambda, LAMP, Desktop, iOS, Mobile, Jakarta EE, Bluetooth LE, Intel, AMD, Arduino

Storage

SQLite, LAMP Server, MySQL/MariaDB, Databases, Microsoft SQL Server, EventStore, PostgreSQL

Industry Expertise

Project Management

Other

Serverless, APIs, Distributed Software, Ray Tracing, 3D Rendering, Network Protocols, Digital Signal Processing, Networks, Internet Protocols, Transmission Control Protocol (TCP), Technical Architecture, Embedded Systems, Algorithms, 3D, 3D Math, Software Architecture, Security, Reliability, Mathematics, Team Leadership, Safety-critical, Data Structures, Web Development, Server Security, Lean Development, Statistics, 3D Modeling, IT Systems Architecture, Technical Leadership, WiFi, Linux Kernel, Leadership, Hardware, Project Planning, TCP/IP, Flexibility, FPGA, Construction, Compilers, Embedded Software, Architecture, BizTalk, Data Mining, Technology Transfer, Graphics Processing Unit (GPU), Database Applications, Web Services, Performance, Bayesian Inference & Modeling, Audio, LuxCoreRender, Bidirectional Scattering Distribution Function (BSDF), Geolocation, Routing Optimization, Mapping, Waze, Optimization, Change Leadership, Message Bus, Mosquitto, API Design, Parsers, Device Drivers, GPU Computing, CPU Boards, Hardware Design, ARM, VMware ESXi, Telemetry, OpenTelemetry, Low-level Programming, Image Processing, Mathematical Modeling, Mathematical Analysis, Web UX, Web Security, Higher Education, Mentorship, Computer Science, Training, Content Writing, E Ink, Computer Vision, Quantum Computing, Reliability Engineering, Artificial Intelligence (AI), Artificial General Intelligence (AGI), Writing & Editing, Technical Writing, Publishing

1979 - 1983

Bachelor of Science Degree in Computer science

University of Warwick - Coventry, UK

MAY 1983 - PRESENT

B.Sc. (Hons) Computer Science

University of Warwick

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