Resume
markkarpov92@gmail.com
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
-
2023–present. Principal consultant 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 have spent more than 7 years at Tweag and Modus Create (which acquired the former in 2022). During this time I have worked with a number of clients ranging from startups to large international corporations, in various industries and domains. In a number of projects my responsibilities included leading teams. On some occasions I was invited as a Bazel architect to help plan large Bazel migration efforts. Besides my direct duties as a consultant, I made contributions to Tweag’s culture at its earlier stages by introducing some initiatives such as knowledge sharing sessions and the book budget. Tweag/Modus Create have been increasingly relying on my interviewing skills. I have conducted around 200 interviews over the years and virtually every member of the Scalable Builds technical group since 2022 had at least one interview with me. I regularly participate in sales and pre-sales calls. Otherwise at different times my additional responsibilities included: blog editor, delivery manager, and hive supporter (a “hive” being an internal unit of organization at the company).
-
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.
- My blog posts are available at https://markkarpov.com/posts.html, see e.g. “How to keep a Bazel project hermetic”.
- I have authored a number of tutorials as part of my job and on my own, see https://markkarpov.com/learn-haskell.html.
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.