Jules May
Verified Expert in Engineering
Software Developer
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
Experience
Availability
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
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.
Developer
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.
Architect Developer
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.
Architect and Developer
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).
Engineer for a Uber-like Routing Project
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.
Lead Developer | Path/Ray Tracing
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.
Developer
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.
Senior Computing Scientist
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.
Audio Developer
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.
Protocol Designer and Developer
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.
Data Scientist
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.
Low-level Database Service Developer
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.
Consultant
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.
Consultant
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.
Software Specialist | Consultant
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.
External Supervisor
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.
Software Development Manager
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.
Technical Architect
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.
Senior Developer
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.
Web Developer
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.
Experience
Conference Speaker
http://sddconf.com/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
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/Archery Competition Timer
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/extremereliabilityI teach courses and give seminars using this material, and I also provide consultancy to failing projects and greenfield developments.
Skills
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
Education
Bachelor of Science Degree in Computer science
University of Warwick - Coventry, UK
Certifications
B.Sc. (Hons) Computer Science
University of Warwick
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring