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 functional programming, reproducible build systems, and Nix for more than 7 years. My personal projects include high-profile Haskell libraries, tutorials, and a technical blog.

Professional experience

  • January 14, 2019–present. Senior software engineer at Tweag, Paris, France. Tweag is a software consultancy built around a number of things: Haskell and FP in general, Nix, Scalable Build systems (think Bazel), and data science to name a few. I have spent almost 6 years at Tweag and worked with a wide range of clients, consistently getting positive feedback, exploring the industry through working on diverse client projects, and continuously learning. Other than doing many FP and Bazel/Nix-related projects, I have had the experience of shaping the company in various ways (e.g. introducing knowledge sharing sessions, book budget, and other initiatives), interviewing a lot of candidates, leading teams both at Tweag internally and in the context of client projects, being a hive supporter, and being a blog editor.
  • January 25, 2018–January 11, 2019. Software engineer at Tweag (remote).
  • May 4, 2016–May 20, 2017. Tier 2 Haskell developer at Stack Builders (remote).

Open source

I have been active in open source for the last 8 years or so. Here are top 3 projects that highlight my work:

  • Ormolu—A 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

Technologies

  • Haskell.
  • Nix is one of the main technologies we use at Tweag. I run NixOS as my primary OS and use Nix daily in my work and for personal projects.
  • Build systems (did a number of client projects, notably related to Bazel).
  • Strong knowledge of Git.
  • DevOps experience (knowledge of some technologies in this area may be rusty).
  • AWS and GCP.
  • Docker.
  • CI: GitHub actions, Travis CI, Circle CI, Buildkite.
  • Databases: PostgreSQL, MySQL.
  • Linux server.
  • Other languages I know: OCaml, C, C++, Common Lisp, Emacs Lisp, Python.

Soft skills

  • The experience of leading teams.
  • The ability to work with people with diverse personalities and skill levels.
  • Good communicator.
  • I speak Russian (native), English (fluent), and French (intermediate).

Education

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