About
Software engineer building developer tools and infrastructure, with a background in compilers, static analysis, and IDE development. My work spans language implementations, cross-platform libraries, and complete development environments. Currently building the TON developer ecosystem at TON Core; previously worked on PhpStorm at JetBrains and compiler tooling at VK.
Experience
TON
TON Core | Yerevan, Armenia Β· Remote
When I joined TON Core, smart contract development relied on a fragmented set of tools. I led the effort to rebuild and unify the developer ecosystem around Acton, covering language tooling, IDE integrations, testing, debugging, deployment, and local infrastructure.
- Created Acton β the primary toolchain for developing smart contracts on TON
- Created Localton β a runtime for running real TON networks locally with validators, a liteserver, TON Center v2/v3 APIs, and indexers
- Created Wallet Engine β a cross-platform Rust engine for TON wallet applications, with support for Swift, Kotlin, and TypeScript/WebAssembly
- Created Acton Studio β a local web workspace for running tests, inspecting smart contracts, and managing TON development environments
- Created actonscan β a TON explorer for developers with source code debugging, message deserialization, emulation, a testnet faucet, and developer tools
- Created a testnet faucet with proof-of-work challenges, abuse prevention, and persistent payout jobs
- Created TON extension for VS Code and language server with support for Tolk, FunC, Fift assembly, TL-B, and the Acton toolchain
- Created a complete Tolk analysis pipeline in Acton
- Led IntelliJ TON 4.0 release with Acton support
- Led IntelliJ TON 3.0 release with more than 170 tasks
- Created Tolk formatter
- Added proof-of-concept Fift assembly compiler on top of the TASM for the future Tolk backend
- Created TVM Instructions catalog
- Added coverage and profiling for tests in Blueprint
TON Studio | Yerevan, Armenia Β· Remote
When I joined, Tact was still a prototype with limited tooling and significant reliability issues. Over six months, I built a language server and integrations for VS Code and JetBrains IDEs, created a formatter, fixed over 100 bugs, and implemented more than 40 features.
Support and development of Tact programming language compiler and tooling:
TON-related:
Moved to the TON Core team to develop tooling and infrastructure for the whole TON ecosystem.
Spawn Programming Language
Yerevan, Armenia Β· Remote
- Developed a compiler (transpiler to C) and an interpreter from scratch, implementing 250 inspections
- Developed plugins for VS Code and JetBrains IDE
- Developed Language Servers and Tree-Sitter grammar for it
- Authored a complete language specification
- Wrote nearly 70,000 lines of code in the Spawn standard library
- Developed tools such as spawnfmt, spawnprof, and spawncov in Spawn itself
JetBrains
Yerevan, Armenia Β· Remote
Support and development of PhpStorm IDE:
- Improved type inference system for better generics support
- Implemented various bug fixes and improvements in type inference
- Added a bunch of new inspections and quick fixes
- Improved documentation support
- Added better support for Psalm types
- Improved Laravel Blade support
- Improved testing support
- Closed about 100 tasks
V Kontakte LLC (VK.com)
Saint Petersburg, Russia
Created an internal AdmStorm plugin for PhpStorm used by our developers, and supported its ongoing development by implementing new features:
- Checking the synchronization of the local repository and the repository on the development server
- Additional actions for push and pull, taking into account hooks on the development server
- Various configurations for launching KPHP, PHPUnit and PHPLinter
- Built-in KPHP Playground and Hastebin
- Ability to view the generated C++ code for the entire site
Development of the KPHP compiler from PHP to C++:
- Participated in the development of a new functions color concept for architecture validation
- Built NoColor on top of NoVerify for architecture validation in PHP projects outside of KPHP, with GitHub Actions, tests, and a PhpStorm plugin
- Implemented the concept of color in KPHP and added support for various PHP functions
- Implementing PHP 7.4 and PHP 8 features
Development and support of the NoVerify static analyzer for PHP:
- Added over 50 new checks to NoVerify and internal linter
- Added support for Composer and improved testing systems
- Rewritten the entire CLI to be more user-friendly
- Implemented full PHP 8 and PHP 8.1 support into the parser
- Created NoVerify Playground and improved type inference system
- Wrote new documentation and many small improvements
Building a PhpStats connection analyzer for PHP from scratch:
- Collect 9 different code metrics and build 8 different dependency graphs
- Collect dependencies between classes and functions and check reachability
- Collect general statistics on the project and view info in sortable tables
Internship
- Development of static analyzer NoVerify for PHP and internal VK linter
- Adding new checks and code refactoring
- Writing unit tests