Petr Makhnev 👨‍💻

Compiler & Developer Tooling Engineer
Yerevan, Armenia Experience since July 2020

About

I build programming languages and the tools around them — from compilers, static analyzers, and language servers to IDE integrations and complete development environments.

Currently building the TON developer ecosystem at TON Core. Previously worked on PhpStorm at JetBrains and compiler tooling at VK.

Selected Projects

Acton

Toolchain & development environment · TON Core

Acton is a comprehensive toolchain for the TON blockchain. It covers the full development workflow — from tests and scripts to running a private local network with a web UI. It includes a language server, static analyzer, formatter, debugger, and testing framework, alongside Acton Studio and Localton.

Developers can build, test, debug, and deploy projects with Acton directly from VS Code and JetBrains IDEs.

Spawn

Programming language · Independent project

Spawn is a programming language with a compiler targeting C, an interpreter, and a complete set of development tools. It includes 250 inspections, nearly 70,000 lines of standard library code, language servers, and IDE integrations.

I led a small team of programming language enthusiasts who developed Spawn as a research project.

Experience

TON Core

Software Engineer Jul 2025 – Present

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.

  • Unified compilation, testing, debugging, deployment, and language tooling in Acton, with Acton Studio providing a local web workspace for the toolchain
  • Built Acton’s Tolk analysis pipeline and a Tolk static analyzer with an extensive set of rules
  • Enabled real TON networks to run locally with Localton, including validators, a liteserver, TON Center v2/v3 APIs, and indexers
  • Connected the toolchain to editors through the TON extension for VS Code and language server, and led the IntelliJ TON 4.0 release with Acton support
  • Developed actonscan to inspect and debug deployed contracts and transactions, with source code debugging, message deserialization, emulation, and a testnet faucet
  • Built Wallet Engine, a shared Rust core powering Telegram’s native wallet in the iOS and Desktop apps, with bindings for Swift, Kotlin, C++, and TypeScript/WebAssembly
More tooling and infrastructure work
  • Rust
  • Static analysis
  • LSP
  • DAP
  • Tolk
  • TVM
  • TypeScript
  • Kotlin
  • IntelliJ SDK
  • UniFFI
  • WebAssembly
  • React

TON Studio

Middle Compiler Engineer Jan 2025 – Jul 2025 · 7 mos

TON Studio | Yerevan, Armenia · Remote

When I joined, Tact was still a prototype with limited tooling and significant reliability issues. Over six months, I fixed over 100 bugs, implemented more than 40 features, built a language server and integrations for VS Code and JetBrains IDEs, and created a formatter.

Alongside the Tact toolchain, I built TON debugging and analysis tools and contributed to the TVM documentation:

Moved to the TON Core team to develop tooling and infrastructure for the whole TON ecosystem.

  • TypeScript
  • Compiler optimizations
  • Code generation
  • Parser generators
  • Tact
  • TVM
  • LSP
  • Tree-sitter
  • Kotlin
  • IntelliJ SDK
  • Disassembly
  • FunC
  • React

Spawn Programming Language

Core Developer · Independent project Jul 2023 – Oct 2024 · 1 yr 4 mos

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
  • Compilers
  • Language design
  • Type systems
  • Code generation
  • Dataflow analysis
  • Escape analysis
  • Generics
  • C
  • Tree-sitter
  • LSP
  • IntelliJ SDK

JetBrains

Software Developer Oct 2022 – Mar 2024 · 1 yr 6 mos

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
  • Java
  • Kotlin
  • Type inference
  • Static analysis
  • Generics
  • Code inspections
  • IntelliJ SDK
  • PHP

V Kontakte LLC (VK.com)

Compiler Engineer Jan 2022 – Sep 2022 · 9 mos

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
  • Kotlin
  • IntelliJ SDK
  • KPHP
  • PHP
Junior Compiler Engineer Sep 2020 – Dec 2021 · 1 yr 4 mos

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
  • C++
  • Go
  • Compiler optimizations
  • Type inference
  • Static analysis
  • Call graphs
  • Parsing
  • KPHP
  • PHP
Trainee Software Engineer Jul 2020 – Aug 2020 · 2 mos

Internship

  • Development of static analyzer NoVerify for PHP and internal VK linter
  • Adding new checks and code refactoring
  • Writing unit tests
  • Go
  • Static analysis
  • Type inference
  • Parsing
  • Constant folding
  • PHP

Education

Baltic State Technical University "VOENMEH" named after D.F. Ustinov 2018–2022

Bachelor's Degree, Information Technology