Resume

Enable JavaScript to see this email
https://github.com/mrkkrp
https://www.linkedin.com/in/mark-karpov-73789914a/
PDF version of the resume

Summary

I am a software engineer who applies the principles of functional programming to solve real-world problems. I have been working as a consultant in the domain of reproducible build systems, functional programming, and Nix for more than 7 years.

Professional experience

  • 2025–present. Senior principal scalable builds engineer at Modus Create. As a consultant, I spend most of my time helping our clients to achieve their goals through use of Bazel. This includes ensuring hermeticity and reproducibility of builds, optimization of build speed and CI times, dependency management, integration between various tools and the build system. Many of our clients are large companies, in particular in the automotive industry and robotics. I am also a manager with around 8 reports.
  • 2023–2025. Principal consultant at Modus Create.
  • 2019–2023. Senior software engineer at Tweag in Paris, France.
  • 2018–2019. Software engineer at Tweag (remote).
  • 2016–2017. Tier 2 Haskell developer at Stack Builders (remote). Primarily development in Haskell for a number of clients.

Open source

I have been active in open source for the last 8 years. My most significant open source contributions have been in the Haskell ecosystem:

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

The full list can be found at https://markkarpov.com/oss.html.

Writing

For the last 8 years I did a lot of technical writing both in my own time and for Tweag/Modus Create. Over a period of time I was a blog editor for https://www.tweag.io/blog.

Technologies

  • Build systems, Bazel in particular.
  • Nix.
  • Haskell.
  • Strong knowledge of Git.
  • DevOps experience.
  • AWS and GCP.
  • Docker.
  • CI: GitHub actions, Travis CI, Circle CI, Buildkite.
  • Databases: PostgreSQL, MySQL.
  • Linux server.
  • Other languages I know (some may be rusty): OCaml, Rust, C, C++, Common Lisp, Emacs Lisp, Python.

Soft skills

  • The experience of leading teams and supporting colleagues.
  • The ability to work with people with diverse personalities and skill levels.
  • Good communicator; many years of experience as a consultant in a diverse range of companies.
  • 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.