Jules May, Serverless Developer in Dundee, United Kingdom
Jules May

Serverless Developer in Dundee, United Kingdom

Member since November 28, 2016
A programmer, architect, mathematician, and project manager with a long history of finding and developing novel solutions to real-world problems, Jules likes handling mathematical problems, and has a taste for safety-critical and high-reliability development. He is a regular conference speaker.
Jules is now available for hire

Portfolio

Experience

Location

Dundee, United Kingdom

Availability

Part-time

Preferred Environment

Flexible

The most amazing...

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

Employment

  • Developer

    2019 - 2020
    Support.com
    • 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. More specifically, they needed it to work under Windows 10 S-mode.
    • Helped modify the native part of the code to work around security limitations while maintaining backward compatibility with the single codebase. The code was for a screen-sharing and remote control application, and much of its behavior was prohibited by W10's security measures, but the result of my work outperforms Microsoft's own screen-sharing utility.
    • Designed the delivery process and informed the minimal set of back-end changes required to support it since the new code was delivered through the Windows Store instead of the client's website, which meant that the delivery and packaging process was entirely different.
    Technologies: Windows UWP, Windows 10s, C++, C#, Desktop Bridge
  • Senior Computing Scientist

    2018 - 2018
    Adobe Systems
    • Designed and demonstrated for 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 with a fully-validated version.
    Technologies: EventStore, AWS, Serverless, Requirements Analysis
  • Audio Developer

    2017 - 2018
    Voicescript (via Toptal)
    • 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: C++, Audio
  • Protocol Designer and Developer

    2017 - 2018
    Trinity (via Toptal)
    • Contributed to the design and testing to a new kind of internet protocol that the company was formed to develop and exploit.
    • Wrote the code to implement the new protocol. This required a detailed understanding of the IP protocol stack and especially the characteristics of the various forms of TCP. The code had to be entirely transportable between PCs, mobile devices, and servers.
    Technologies: C++, IP, TCP
  • Data Scientist

    2017 - 2018
    Global Data (via Toptal)
    • Developed an evaluator that used Bayesian reasoning over correlations to mine relationships from multivariate unstructured data.
    • Developed an algebra over probability distributions, so distributions could themselves be correlated. The system was able to interpolate missing values (for graphing) and to extrapolate (for prediction), with confidence intervals built in.
    Technologies: Python, Beyesian Reasoning
  • Low-level Database Service Developer

    2017 - 2017
    Exponential (via Toptal)
    • Developed code to replace an approximately 1GB database suffering from 1+ second response times with an 80MB database with around a five-milisecond 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: C++, Database, Web Service, Algorithms, Performance
  • 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.
    • Designed 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: Verilog, C++11, FPGA, Compiler Construction, Algorithms, Mathematics, Embedded Software, Project Management
  • Consultant

    2014 - 2015
    Trainline
    • 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, roadmapping, 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: F#, C++11, C#, Architecture, Biztalk, Mathematics, Algorithms, Data Mining
  • Software Specialist/Consultant

    2013 - 2014
    Senergy, Ltd.
    • Led numerous technical projects operating under the auspices of Business Development/Innovative Products and Services. They originated and researched ideas and existing IP 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.
    • Designing the systems, managed the development effort, and took a leading role in core development tasks on several projects.
    • Contributed to commercial and business planning.
    • Participated in IP registration.
    Technologies: PHP, SQL, LAMP, Java, Android, R
  • 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. The idea was to expose students to opportunities in which they can 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.
    • Participated in the final marking.
    • Helped to transfer the solutions found by the students back into the development team.
    Technologies: Mathematics Research, Technology Transfer
  • Software Development Manager

    2012 - 2013
    Senergy Software, Ltd.
    • Managed a department of 22 developers and two project managers, developing two home-grown programs (over 3 million lines) and several third-party assets.
    • Oversaw budgeting, recruitment, project scoping and delivery, and the implementation of all quality standards.
    Technologies: C#, C++, Fortran
  • Technical Architect

    2011 - 2012
    Senergy Software, Ltd.
    • Directed the Core, Architecture, and Futures team, which was charged with re-architecting 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++
  • Senior Developer

    2009 - 2011
    Senergy Software, Ltd.
    • Developed and delivered a radical approach to rectifying and analyzing wireline image logs based upon cross-correlations.
    • Architected the project such as to work as part of a desktop app, when embedded on down-hole hardware and when deployed onto GPU arrays.
    • Handled conception and design as well as mathematical and theoretical foundations.
    • Submitted the product for a patent (GB1016556.1, Methods for providing for correcting data and associated apparatus).
    Technologies: C#, C++, Embedded, GPU
  • 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: ASP.NET, C#, Visual Studio, SQL Server

Experience

  • Conference Speaker (Other amazing things)
    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
    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

  • Angus Open Studios Website (Development)

    I was approached by Angus Open Studios, an artists' co-operative in North-eastern 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 web site, 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 a further four years, during which time I added further tracking, more admin facilities, and more member support.

  • The Inventor's and Innovator's Kick-start Guide (Other amazing things)
    https://www.amazon.co.uk/Inventors-Innovators-Kick-start-Guide-Commercialise/dp/0954999509/

    My first full-length book! Was an Amazon best-seller for several years. Kindle sales are still trickling in.

  • Archery Competition Timer (Development)

    Archery competitions are subject to complex timing rules, and through commercial devices are available, they're very expensive and few competition organisers or governance organisations can afford them. Scottish Archery Association's Northern Area had a device 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.

Skills

  • Languages

    Python, C, Python 3, C#, C++, PHP, Scala, Kotlin, Rust, Embedded C++, Java, F#, R, Core Java (J2EE), VHDL, Verilog HDL
  • Libraries/APIs

    Sockets, Visual Studio SDK
  • Tools

    Visual Studio, SharpDevelop, MATLAB
  • Paradigms

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

    CUDA, Unix, Universal Windows Platform (UWP), UWP, Linux, Windows, NetBeans, Android, Docker, Amazon Web Services (AWS), Xamarin
  • Storage

    SQLite, LAMP Server, MySQL/MariaDB
  • Industry Expertise

    Security, Project Management, Web Development
  • Other

    Serverless, APIs, Distributed Software, Ray Tracing, 3D Rendering, Network Protocols, Digital Signal Processing, Networks, Internet Protocols, TCP, Embedded Systems, Algorithms, 3D, 3D Math, Software Architecture, Reliability, Mathematics, Team Leadership, Safety-critical, Data Structures, Server Security, Lean Development, Statistics, 3D Modeling, AWS, WiFi, Linux Kernel, Hardware, Project Planning, TCP/IP
  • Frameworks

    Flutter, Android SDK, ASP.NET

Education

  • Bachelor of Science degree in Computer science
    1979 - 1983
    University of Warwick - UK

Certifications

  • B.Sc. (Hons) Computer Science
    MAY 1983 - PRESENT
    University of Warwick

To view more profiles

Join Toptal
Share it with others