Petr Makhnev 👨‍💻

Compiler & Developer Tooling Engineer
Based in Armenia · Open to remote opportunities Experience since July 2020

About

I build programming languages and the tools around them — from compilers, static analyzers, and language servers to IDE integrations, complete development environments, and web interfaces. I’ve combined hands-on development with technical leadership in teams of 2–3 engineers.

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

Led the design and development of Acton as part of a two-person team. The unified toolchain for TON smart contract development includes a language server, static analyzer, formatter, and debugger, alongside Acton Studio and Localton for running a private local network with a web UI.

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

Acton makes testing much simpler by letting developers write tests in the same language as their smart contracts, scripts simplify deployment, and local blockchain environments make dApp development easier.

Acton is TON’s primary and recommended toolchain for smart contract development.

Wallet Engine

Wallet infrastructure · TON Core

Built a shared Rust core for TON wallet applications, with bindings for Swift, Kotlin, C++, and TypeScript/WebAssembly. It handles wallet creation and import, transfers, transaction history, and TON Connect.

A single shared implementation keeps all wallet backend logic and its edge cases in one place, ensuring consistent behavior across platforms.

Wallet Engine powers Telegram’s native wallet in the iOS, Android, and Desktop apps.

Spawn

Programming language · Independent project

Designed a programming language and built its compiler targeting C, interpreter, and development tools. Implemented 250 inspections, wrote nearly 70,000 lines of standard library code, and developed language servers and IDE integrations.

Led a small team developing Spawn as an independent programming language 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.

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

Worked on the Tact compiler and developer tooling. 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. These changes significantly improved Tact’s usability and stability.

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