--- /dev/null
+---
+title: cv
+---
+
+I'm a software engineer interested in functional programming, compilers, and
+programming languages. I'm always keen on learning new things, applying knowledge to help people solve their problems, and share ideas and experiences. I value the importance of soft-skills in every day work and the ability to make trade-offs in software development.
+
+At the moment I provide my services as an independent contractor, helping businesses to build better software.
+
+In my free time, I love reading books, walking the streets, collecting vinyl, music production, reflexing, and travelling.
+
+### Work experience
+
+- [05/2023 - 06/2024] **Software Engineer**, [Kadena](https://kadena.io), Remote
+
+ #### Responsibilities:
+ - Fixing bugs and developing a new functionality of the blockchain's node.
+ - Integration of the pact-5 into the blockchain's node (separate implementation of the Pact).
+
+ #### Achievements:
+ - Added a read-only rewind mechanism of the chain that allowed to execute blocks faster & safely.
+ - Added concurrency to the smart contracts execution mechanism using the abovementioned read-only rewind to execute the node queries simultaneously, improving the responsiveness of the node.
+ - Developed the Hyperlane bridge support for the Kadena blockchain with MessageId & Merkle tree metadata support (helped with the contracts as well).
+ - Added a few natives for the Pact programming language.
+ - Reduced the CI macos build by 4 minutes.
+
+- [04/2021 - 04/2023] **Software Engineer**, [Tweag](https://tweag.io), Remote
+
+ #### Responsibilities at Input Output Global (client):
+ - Helping with Plutus Pioneer Program by tutoring Plutus users' with Haskell and Plutus and reviewing their work.
+ - Helping dApps developers' to solve their problems in context of Plutus Apps infrastructure.
+ - Fixing bugs and developing a new functionality in the Plutus Apps infrastructure (PAB, chain-index, etc).
+ - Improving the performance of Plutus compiler and Plutus GHC plugin.
+ - Release management of plutus-apps.
+
+ #### Achievements:
+ - Added literal ByteString support to Plutus GHC plugin which allowed dApps developers to use string literals as bytestrings in their contracts.
+ - Several perfomance improvements for the Plutus compiler resulted in reducing the compilation time of Plutus programs by 60%.
+ - Introduced bulk processing of blockchain blocks to chain index that increased the indexing speed of the testnet by ~30%.
+ - Migrated the plutus-apps codebase to cardano-ledger library for validation of the transactions.
+
+<div style="page-break-before:always;"></div>
+
+- [02/2020 - 03/2021] **Team Lead**, [Typeable](http://typeable.io), Remote
+
+ #### Responsibilities:
+
+ - Development of B2B web application for booking hotels in Haskell using Servant, PostgreSQL and Nix.
+ - Maintaining the quality of project's codebase.
+ - Managing and mentoring a team of 5 software engineers.
+ - Distribution of tasks between team members to maintain team's performance.
+ - Participation in regular discussions on the project's tasks, milestones, and the architecture of client's products ecosystem.
+
+ #### Achievements:
+
+ - Designed, developed and released a product from scratch.
+ - Integrated \href{http://travolutionary.com/}{Travolutionary} — a hotel inventory provider.
+ - Integrated the product with a single sign-on system in the products ecosystem.
+ - Set up CI using GitHub Actions and Nix.
+ - Helping with developer relations at the company.
+
+- [08/2018 - 02/2020] **Software Engineer**, [Typeable](http://typeable.io), Remote
+
+ - Developed web applications in Haskell using Servant, PostgreSQL and Nix.
+
+ - Migrated a big code base from GHC 8.2 to 8.6.
+
+ - Integrated [Sirena](https://www.sirena-travel.com) global distribution system to the booking engine.
+
+ - Interviewed software engineers and mentored new hires.
+
+- [07/2017 - 07/2018] **Software Engineer**, [SKB Kontur](https://kontur.ru/eng/about), Yekaterinburg, Russia
+
+ - Developed a business logic in C#, created tests and reviewed pull requests.
+ - Developed XSL transformations and extended API methods for generation, parsing and
+ validation of documents.
+ - Improved counters of unread messages by replacing polling with WebSockets.
+
+- [06/2016 - 07/2016] **Software Engineering Intern**, [Multiclet](http://multiclet.com), Yekaterinburg, Russia
+
+ - Implemented `memcpy`, `memset` and `memmove` in C and Assembler for standard library.
+ - Implemented a special case of inlining of `memcpy` for Multiclet's LLVM backend (improved speed in some cases).
+ - Fixed bugs in assembler and linker.
+
+- [2011 - 2014] **Software engineer (part time)** [FEFELOVGROUP](http://fefelovgroup.com), Yekaterinburg, Russia
+
+ - Developed web applications in Python (Django) and Ruby (Rails).
+ - Created data crawlers in Python.
+
+- [07/2012 - 10/2012] **Software Engineering Intern**, [Naumen](http://naumen.com), Yekaterinburg, Russia
+
+ - Created automated tests in Java and Groovy (Selenium).
+
+<div style="page-break-before:always;"></div>
+
+### Education
+
+- [11 - 17 sep 2019] Participated in *Agda Implementors' Meeting XXX*, Munich, Germany
+
+- [5 - 9 aug 2019] Participated in [*The Scottish Programming Languages and Verification Summer School 2019*](http://www.macs.hw.ac.uk/splv/splv19/), University of Strathclyde, Glasgow, Scotland
+
+- [2015 - 2017] *BSc Computer Science*, Innopolis University, Innopolis, Russia
+
+ - Thesis: Verified type checker for Jolie programming language
+
+- [2013 - 2015] *BSc Mathematics*, Ural Federal University, Yekaterinburg, Russia
+
+ - (transferred to Innopolis University)}
+
+
+### Teaching Experience
+
+- [02/2020 - 02/2022] *Introduction to Functional Programming, Ural Federal University.*
+
+ - Designing the course in a team of three, creating materials, delivering lectures, seminars, checking homeworks.
+
+- [2017 - 2018] Wrote two blog posts about functional programming for C# developers and organized a one-day introductory Haskell course at SKB Kontur.