- PDF version of the resume
Software engineer specializing in functional programming using strong static typing, in Haskell in particular.
Tech work experience
May 4, 2016–May 20, 2017 Tier 2 Haskell developer at Stack Builders (remote). The job involved working for several clients mostly from the US. Web-applications built with Yesod, Snap, Servant (including a micro-service based system with Servant on backend). Agile. Another part of the job was writing tutorials and blog posts to increase visibility of the company.
January 25, 2018–present Software engineer at Tweag I/O (remote).
Concepts (not mentioning basic things like rank-N types, existentials, phantom types etc.): EDSL using combinators, GADTs, type-level programming, generics, TH, high-performance Haskell, parallel and concurrent Haskell, FFI, lens (van Laarhoven/profunctor).
Libraries I’m familiar with (not mentioning vital common things like
kan-extensions, etc. I have experience with most of the libraries in active use in the Haskell ecosystem.
- Databases: PostgreSQL, MySQL.
- Linux server.
- Strong knowledge of Git.
- CI: Travis CI, Circle CI.
- Dependent types, theorem provers: Coq.
- Bash/Python/Haskell scripting.
- Build systems: make, shake, Bazel.
- Server automation: Ansible.
- Other languages I know: C, C++, Python, Common Lisp, Emacs Lisp.
- Megaparsec—Industrial-strength monadic parser combinator library.
- Req—Easy-to-use, type-safe, expandable, high-level HTTP library.
- Zip—Efficient library for manipulating zip archives.
- MMark—Strict markdown processor for writers.
The full list can be found at https://markkarpov.com/oss.html.
I’ve authored two chapters for the upcoming book Intermediate Haskell: Exceptions and Megaparsec. Unfortunately the content is not publicly available yet (only available to reviewers).
I speak Russian (native) and English (fluent, experienced with documentation/tutorial writing).
Stress-resistant, open to criticism/discussion.
- 2009–2014—Polzunov Altai State Technical University. Engineer degree in informational technology and measuring engineering.