Jonathan Hartley résumé

Jonathan Hartley | tartley@tartley.com | blog | github
+1 507 513 1101 | 1601 5th Ave NW. Rochester, MN, 55901, USA | Central, ie. UTC-6

Summary

I’m an experienced software developer, a back-end generalist, specializing in Python, who really cares about programming. For you, this means that I create products that work, are well tested, and are less expensive to maintain and extend in the future. Deliveries are incremental and frequent, to make progress legible to all.

Good teams are a pre-requisite for this, which means continuous mentoring, pairing, jovial relationships, real talk, and pride in our mutually raised expectations of one another.

Experience and technologies

I have 15 years experience in Python (and have used Go, C, C#, C++). I created Colorama, a personal open source project that has become the world’s 28th most popular Python library. I present at PyCon and am a Fellow of the Python Software Foundation.

I work on Linux, often producing web APIs which use Django, FastAPI, or Flask, checked by typing and Pydantic, interfacing with back ends such as SQL/relational storage like PostgreSQL, Oracle, MySQL, or NoSQL stores like Redis, indexed using Elasticsearch, containerized using LXC or Docker, deployed to bare metal or public clouds.

I consult and mentor in Test-Driven Development (TDD), and my favorite employers use this and other other Agile and eXtreme Programming techniques. I was tech reviewer on O’Reilly’s Test Driven Development with Python, published on testing in Python Magazine, and landed modest CPython patches in unittest.

Current Role

Lambda
Sep 2023
to present.
Lambda’s public cloud provides premier GPUs, on which customers train AI models. My team converts customer requests and other events into configuration changes on hypervisors to manage virtual machines, network configuration, GPUs and storage, presenting the result to users as their own private cluster.
I analyze & deliver new features. One is our first on-hypervisor agent, deployed on bare metal to thousands of hypervisors in multiple datacenters. To this I migrated our server health checks, from our centralized Python FastAPI command-and-control service, allowing the checks to become substantially simpler, having more direct access to the hypervisor’s state.
I then worked with others to migrate our primary and most involved workflow, launching VMs. This made the code more scalable and responsive, and especially more reliable than micro-managing many hypervisors from afar with low-level commands over ssh. This eliminated whole classes of errors & races, improving user experience and reducing on-call burden, important as we grow the fleet.
To support the company’s builds of High Performance Computing clusters for clients, I produced a parameterizable Python model of proposed clusters, including servers, switches, and the routing of networking connections between them. Exporting the resulting model as detailed diagrams, bills of material, etc, allowed Pre-Sales Engineering to use these documents during sales pitches, and produce quotes on-demand, rather than after weeks of design work, as has been industry standard.

Previous Roles

Canonical
May 2019 to
July 2023
The Snap Store is an app store for Linux applications. I worked on the backend Python Django web APIs, serving 5k req/s to provide downloads to securely update hundreds of millions of Linux devices. One effort that I lead consolidated code from the company’s other types of binary downloadable artifacts to all be handled by the Snap Store, replacing several separate services with a single “binary artifact store”, decommissioning other teams’ services as their functionality was subsumed, and converging behaviors such as publishing and risk tracks to be more consistent across artifact types, all while honoring high-traffic SLAs & preserving compatibility with diverse public APIs for each artifact type.
IBM Cloud
July 2017 to
May 2019
Implemented IBM Cloud’s security groups feature, in Python & Go, taking the best of AWS and GCP designs, to convert user requests into iptables config across many instances, for dynamic on-instance firewalling. I also produced & presented my own training course across the division, teaching hundreds of developers how to contribute good tests to the massive IBM Cloud Python test suite, dramatically reducing time spent on creating and maintaining tests, while making the tests themselves orders of magnitude faster, more thorough, and more reliable.
Able.ag,
Antidote.me,
Made.com,
BATS Trading,
Rangespan
Contracts,
June 2017 to
June 2011
Often as a tech lead, such as at Able.ag, where I relieved the company’s technical founder of architectural, design, and mentoring responsibilities. Usually these roles created web APIs in Python, ingesting, transforming and indexing large amounts of data, often to AWS RDS. At e-commerce startup Rangespan, we integrated with hundreds of suppliers, to ingest data for 100 million product lines, and then routed over a billion sales from participating retailers to dynamically selected suppliers. At furniture retailer made.com, I was hired to fix the dysfunctional Enterprise Resource Planning team, which was moribund from years of technical debt. I mentored individual team members, hired some new ones, and replaced the week-long manual deploy process with modern CI/CD. Together we then radically overhauled the team’s processes and codebase, allowing the team to start delivering business-critical features to production.
Resolver
Systems
Sep 2006 to
May 2011
Hardcore eXtreme Programming startup, doing pairing and TDD, producing Python and .Net applications for financial and scientific clients. At one point I helped re-implement all of Excel’s statistical functions, with modern twists such as improved numerical accuracy.
GIS
consulting
Aug 2003 to
Sep 2006
I single-handedly designed and coded Habitat Capture, a desktop GIS tool in .Net using ArcObjects. End users described it as “about a billion times better” than their last commissioned tool. The dataset they produced with my tool ended up winning that year’s British Cartographic Society award. For Ordinance Survey I designed spatial SQL queries to run against the UK’s definitive multi-terabyte geographic dataset, as a proof-of-concept to derive new sellable data products.

Education

University of Durham (United Kingdom). Bachelor of Science: 2:1 (with Honors) in Electronics.