Benoît Fleury

Senior Software Engineer / Technical Lead

Stripe • Cognitect

Tallahassee, Florida

Summary

I solve problems with finely crafted software, preferably in Clojure and Datomic.

I am comfortable dealing with ambiguity. I enjoy finding the intersection between business opportunities and technical opportunities.

I am detail-oriented and passionate about software quality. It is the easiest way to maintain software in the long term.

I have experience leading a small engineering team and mentoring junior engineers.

I have been working remotely for 15+ years and will consider remote opportunities only.

Experience

Stripe

Senior Software Engineer

Stripe

Jan 2022 — Jan 2025

  • Participated to the design, architecture, and implementation of the PaymentRecords API, Stripe's new payment read surface decoupled from any payment write surface.

  • Scoped and designed CustomPaymentMethods to enable Stripe users to bring their own payment methods to different Stripe products like Billing and Stripe Elements.

  • Scoped and designed PaymentMethod sharing to enable large enterprises users to share PaymentMethods across their business units.

  • Reviewed and approved a dozen of changes to the Stripe API as part of the API review team.

  • Mentored several junior engineers formally and informally during design pairing sessions.

  • Implemented several features and fixed bugs in the PaymentMethods APIs, in Ruby and Java.

Dividend Finance

Technical Lead

Dividend Finance

Jul 2020 — Nov 2021

  • Shipped several key features of the backend and frontend (Clojure/PostgreSQL).

  • Designed and engineered a webhook system and its API.

  • Improved the observability of the system by migrating to structured logging, developing a library to take care of all our monitoring needs, and implementing the frontend and backend of an audit trail.

  • Initiated several documentation efforts, functional and technical.

Centriq

Senior Software Engineer

Centriq

Apr 2018 — Apr 2020

  • Shipped several key features of the platform that were very well received by our users: notification and digest emails, maintenance tasks and reminders, mobile push notifications, multi-tenancy support for the platform, new partner REST API.

  • Designed and engineered a uniform user notification system supporting various channels (transactional and digest emails, mobile push, slack).

  • Built a data ingestion pipeline in Clojure from heterogeneous third-party data sources to a Datomic database.

  • Created a generic event system with a decoupled frontend/backend and integrated it with Cloudwatch for complete monitoring of our production system. Automated our deployment to AWS.

Access Watch

Head of Engineering

Access Watch

Mar 2017 — Jan 2018

  • Designed and engineered a real-time analytics service on top of Datomic in AWS. Redesigned the data model using Datomic information model.

  • Built an auto-scalable worker environment to retrieve network information from external databases (DNS, WHOIS, DNS blacklists, Tor network...).

  • Initiated the development of an open-source stream processing framework in JavaScript/node to create custom log processors.

Cognitect

Software Engineer

Cognitect

Nov 2012 — Mar 2017

  • As part of a team of two developers, I built the front-end and back-end of a simulation testing suite for one of the largest e-commerce platform in the world. The application was built in Clojure and Datomic with the Simulant library.

  • Built a real-time database replication system in Clojure on AWS (DynamoDB, S3) for one of the biggest hotel chain in the United States. The service processed a constant stream of room rates and availability updates represented as XML documents. The updates were processed and stored into DynamoDB tables. All updates were logged to S3 for recovery purpose.

Amazon

Software Design Engineer

Amazon

May 2011 — May 2012

  • Initiated the engineering of the backend services to support AmazonLocal on Kindle with special offers.

  • Built a web application to support the work of the production associates.

Microsoft

Program Manager

Microsoft

Apr 2010 — Apr 2011

  • Delivered a detailed functional specification of a high-performance, low resource usage C library for fetching and managing ads on mobile devices: Windows Mobile 6.x, iPhone and Android.

  • Designed and drove adoption of a new type of ad appropriate to mobile devices.

  • Wrote and drove adoption of a list of core client scenarios with the Bing mobile team for a mobile coupon platform. Made a proposal to the business team that has been accepted.

  • Investigated scenarios and requirements related to billing and fraud components. Delivered a detailed functional specification of these two components.

Microsoft

Software Design Engineer

Microsoft

Nov 2008 — Apr 2010

  • Participated to the development of several versions of the mobile advertising platform in C#, .NET, SQLServer, Cosmos.

  • Designed two versions of our REST protocol for mobile ad delivery.

  • Built a support tool to allow users to directly query the ad platform. The tool was widely used among the support team to troubleshoot potential issues.

ScreenTonic

Software Engineer

ScreenTonic

Jul 2006 — Oct 2008

  • Engineered several features of the ad server on the LAMP stack (Linux, Apache, MySQL, PHP).

  • Initiated the engineering of a framework for integrated tests and wrote the test fixtures for the existing functionalities.

  • Designed a RDF over HTTP protocol to exchange campaign information between the ad manager and the ad server.

Education

ENSEEIHT (France)

ENSEEIHT (France)

Master in Computer Science and Applied Mathematics (Diplôme d'Ingénieur)