Fabrice Gabolde

Senior Software Engineer

image

I’m a primarily Java developer who thrives when building foundations for the rest of the team. I love creating tooling, improving DX, ensuring that other engineers have an experience as painless as possible. Along the way, I’ve somehow gotten pretty good at designing HTTP APIs, RESTful or not.

I enjoy a variety of styles of programming languages: imperative (Java, Perl) or functional (Clojure), object-oriented or not. I know when to use design patterns and when to avoid them. Enough DevOps skills to competently shoot myself in the foot. Strong opinions on Hibernate.

This resume is entirely LLM-free.


Work Experience

Senior Software Engineer

Weborama | 2019 - Present

Lead developer for a team of 3 other backend and API developers, working in close cooperation with the frontend team, backend processing team, and SRE. During that time, I was able to design the architecture for several core services at Weborama. In addition, I led CI and Observability tooling, developer support and evangelism for the Java software development teams of Weborama.

  • Led the transition for multiple applications from relying on several legacy in-house authentication systems to a unified SSO experience with OIDC using Keycloak. This was critical to allow applications to present a single experience for users instead of completely detached workflows.
  • Lead architect on Data Hub, the core service for managing Snowflake customer data silos. Built a database analysis tool with the goal of making customer datasets available and discoverable within other Weborama applications. Making the decision to use database metadata to discover new and modified application datasets asynchronously allowed applications to create datasets with all the expressiveness of Snowflake SQL, leading to fast and painless integration.
  • Designed a modular architecture for pluggable applications on Data Hub, allowing other teams (including external teams) to develop and deploy applications for the platform. This required a particular focus on security, credentials and privileges management, and communication and coordination with multiple teams.
  • Refactored Java CI across the company to use GitLab CI templates and components instead of copy-pasting pipelines. Deployed Renovate to keep dependencies up to date on dozens of software components.

Software Engineer

Weborama | 2014 - 2019

Design and implementation for a large refactor of an existing application to use a modern Java JDK and Spring Boot instead of Perl 5.12.

  • Designed and built several features for human-guided generation of word clouds from a large corpus of web content, to help in scoring user profiles along user-built topics. This project involved building a JSON HTTP API using Perl 5, Dancer, and MariaDB; later ported to Java 8/11 and Spring Web MVC.
  • Participated in the transition from behavioral-based user profiling (cookies) to contextual-based (no cookies) and back again (depending on the Google Chrome team’s mood of the day), building API features as needed to support new use cases and integrate with external providers.
  • Participated in the design of a big data pipeline for building user profiles for advertising: large scale web crawling with built-in rate-limiting, following robots.txt, and analyzing the page text using decluttering heuristics and OpenNLP. Using Apache Storm and HBase, we were able to reach high volumes of daily page fetches and user profiles.
  • Introduced OpenAPI at Weborama to describe HTTP APIs instead of older, low-adoption formats like SPORE, or manually written and unmaintained documentation, and built much of the company tooling for taking advantage of it. As a result, teams were able to generate up to date SDKs, API request validation was easier to implement, and API documentation quality, freshness, and coverage were significantly raised.

Software Developer

Devoteam SA | 2011 - 2014

Part of the Uperto open-source team at Devoteam, with a focus on Perl and network monitoring technologies.

  • Implemented and helped design an LMTP proxy written in Perl 5 for automatically encrypting emails containing sensitive medical information for the French Social Security IT systems. As a result, operators were able to use email aliases in their regular Outlook/Exchange setup to ensure that patient details were encrypted in transit using GPG.
  • Part of a project implementing a large French telco operator’s generalization of SNMP usage. Using the Perl 5 software built by my team, the telco was able to switch from dozens of handcrafted telnet scripts querying routers for bandwidth usage stats, to generic SNMP queries feeding Zabbix servers.
  • Refactored and maintained a Perl 5 and Oracle 10 based tool for generating reporting data for monitoring SLAs for a large French bank, running on Solaris.