About me

I am a senior software engineer with a strong focus on statically-typed languages and functional programming. I’ve been programming for about 16 years, and professionally so for more than 10 years, on both the back and front ends.

Nowadays, I mostly use Haskell and Typescript professionally, but my experience spans multiple languages including 4 years of commercial Scala, and 2 years of commercial experience with Rust. My achievements include building AI agents and RAG systems for Aletiq, and building a web-scale crawler for Qwant.

Download the résumé (PDF)

📍🌍 Paris, FR
Contact: hey [at] guillaumebogard.dev.

Work experience

Senior Software Engineer (Haskell, TypeScript, React)
haskell react nix

  • Building an AI agent that lets users interact with technical documents (ISO standards, assembly drawings, industrial specs) and PLM data (BOMs, manufacturing orders etc.). This includes a large scale indexer for thousands of customer documents and a comparison system for technical documents.
  • Shipping a recommendation system to help find related documents and products, improving traceability across the PLM
  • Full-stack development in TypeScript (Effect.ts, React) and Haskell of various PLM features

Senior Software Engineer (Crawler Team)
rust kubernetes python

  • Built a high-performance clean content extraction service in Rust, matching or beating industry-standard (Trafilatura) quality of extraction while running orders of magnitude faster
  • Architected a sharded, lock-free crawler that dramatically improved crawling throughput while enforcing strict politeness policies
  • Worked across the crawler’s core: URL redirection, URL filtering, robots.txt enforcement, specialized scrapers and end-to-end testing

Functional programming tutor
scala

  • Taught a 15-hour functional programming course in Scala to engineering students (referential transparency, totality, laziness, composition, IO monads and functional streams with Cats Effect and fs2)

Lead Scala developer
kafka kubernetes scala

  • Initially joined as a Scala consultant on Mediahub, a media asset management platform ingesting 300+ hours of content per day
  • Then promoted to lead the documentation feature-team where I designed and implemented core services for video annotation and search, using Elasticsearch, PostgreSQL and the Typelevel stack
  • Migrated millions of legacy XML documents through a high-throughput Kafka/fs2 pipeline, enabling legacy systems to be shut down
  • As lead I also mentored the team in functional programming: Cats Effect, hexagonal architecture and property-based testing (ScalaCheck)

Scala developer
scala kubernetes

  • Developed Scala microservices in a purely functional style (Cats, Http4s, Tapir)
  • Migrated services from Play Framework to the Typelevel stack, unifying libraries and coding style across the codebase
  • Built an open-source tracing library (scala-opentracing) that improved the platform’s observability
  • Deployed services to Kubernetes and mentored an intern in functional programming

Full-stack Javascript developer
react node javascript

  • Built front-end and back-end features for a sports-places PWA: React/Redux Saga, Node.js/Koa and PostgreSQL
  • Introduced end-to-end tests (Cypress), code reviews and pre-commit linting, replacing a push-to-master workflow
  • Refactored the codebase and reduced its size by around 30%
  • Taught functional programming principles (composition, referential transparency) and introduced Redux Saga to separate business logic from side effects

Front-end developer
react vue polymer javascript

  • Built progressive web apps (React, Vue) as part of a full overhaul of Norauto’s information system
  • Co-built a framework-agnostic design system with custom elements (Polymer), documented and shared company-wide
  • Applied a micro-frontend architecture, splitting the domain into independent, loosely coupled applications
  • Introduced styled-components, React Context and state-management practices to the team

Front-end developer
react javascript

  • Built the front end of a multi-country concrete marketplace in React, in a team of four
  • Designed a per-country configuration system to override styling and behaviour without duplicating code
  • Kept the codebase functional (Ramda, immutable data, isolated side effects) with 100% unit test coverage

Full-Stack developer
vue node scala javascript kubernetes

  • Led a small team and rewrote Pingview, the company’s dashboard SaaS, into a stateless, horizontally scalable architecture
  • Migrated the stack from vanilla JavaScript/jQuery to TypeScript and Vue.js
  • Introduced Redis caching and pub/sub for live updates (thousands per second), and Scala/Akka to model data flows as actors and messages
  • Shipped the app as Docker images on a Rancher cluster

Junior Javascript Developer
javascript node

  • Built a SPA (AngularJS) that let marketers manage e-mail campaigns end to end, including a WYSIWYG e-mail designer
  • Built an e-mail tracking system measuring opens, click rates and per-recipient interaction heatmaps
  • Contributed to the Node.js/StrongLoop back end

Skills

  • Programming Languages: Strong knowledge of Haskell, Scala, Rust and TypeScript with some notions of Java
  • Libraries and frameworks: Strong knowledge of the Typelevel stack (Cats, Cats Effect…), significant experience with Effect (TypeScript)
  • Infrastructure & data: Nix, Postgres, Kafka
  • Frontend: React with Tanstack Query, Vue
  • Significant experience with agentic workflows

Education

  • Self-taught engineer: I learned by building things, reading a lot, and shipping software
  • Programming as a hobby since age 13, and landed my first professional programming job at 18
  • Always driven to learn new languages, paradigms and tools, and to pass that knowledge on through mentoring and teaching