Resume

Summary

I am a software engineer with a focus on functional programming and build systems. My work in Haskell spans more than a decade and has produced widely used, recognized open source projects such as Ormolu and Megaparsec. In parallel, as an expert in Bazel and Nix I have helped many clients ranging from startups to international giants make their builds hermetic, reproducible, and fast.

Professional experience

  • 2025–2026. Senior principal scalable builds engineer at Tweag. The later part of my time at Tweag was dedicated to scalable build systems, Bazel in particular. I led about five different engagements, including helping to design a massive Bazel migration for an automotive giant. I was also a manager, at first with 8 reports. Later on, in the period from February to July 2026, I led the Scalable Builds department of Tweag. I devised its strategy and oversaw internal initiatives, delivery, hiring, and client relationships.
  • 2023–2025. Principal consultant at Tweag. Most of this period was dedicated to Bazel consulting for a well-known German automotive company. The work first targeted build-time improvements, then moved on to novel, non-trivial integrations between Bazel and CTC++, and later Coverity.
  • 2019–2023. Senior software engineer at Tweag in Paris, France, and remote. Haskell and OCaml consulting for clients in fintech, later moving into Bazel.
  • 2018–2019. Software engineer at Tweag (remote). Bazel and Haskell consulting.
  • 2016–2017. Tier 2 Haskell developer at Stack Builders (remote). Haskell consulting for a number of diverse clients.

Open source

I have been active in open source for over a decade. My most significant contributions to date are in the Haskell ecosystem (the full list is at https://markkarpov.com/oss.html):

  • Ormolu—The de-facto standard formatter for Haskell source code.
  • Megaparsec—A widely used, industrial-strength monadic parser combinator library.
  • Req—An HTTP client library.

Writing

I have done a lot of technical writing, both on my own and for Tweag, where I also served as a blog editor for https://www.tweag.io/blog.

Languages

I speak Russian (native), English (fluent), and French (fluent).

Education

  • 2009–2014—Polzunov Altai State Technical University. Engineer degree in informational technology and measuring engineering.