Petr Makhnev 👨‍💻

Compiler Engineer | TON Core | ex JetBrains, ex VK

About

Working in the TON Core team on the programming language Tolk and development tooling for the TON blockchain.

Experience

TON Foundation

Compiler Engineer Jul 2025 – Present · 6 mos

TON Core | Yerevan, Armenia · Remote

  • Created TON extension for VS Code and language server with support for Tolk, FunC, Fift assembly and TL-B languages (ton-language-server)
  • Created Tolk formatter (tolkfmt)
  • Added proof-of-concept Fift assembly compiler on top of the TASM for new Tolk backend
  • Added coverage and profiling for tests
  • Lead IntelliJ TON 3.0 release with more than 170 tasks (intellij-ton)
  • Created Sandbox UI (sandbox)
  • Created TVM Instructions catalog (spec)
Middle Compiler Engineer Jan 2025 – Jul 2025 · 6 mos

TON Studio | Yerevan, Armenia · Remote

Worked in the TON Studio division on the programming language Tact for the TON blockchain. Support and development of Tact programming language compiler and tooling:

  • Created language server and VS Code extension (tact-language-server)
  • Created Fift assembly, BoC, TL-B language servers inside Tact language server
  • Created plugin for JetBrains IDEs (intelli-tact)
  • Created CST parser generator and formatter for Tact
  • 200+ commits in the compiler repository (tact)
  • Fixed 100+ bugs and added 40+ new features

TON-related:

  • Created a new version of the TVM disassembler (ton-opcode)
  • Wrote a complete assembler for TVM bitcode (900+ instructions, Text assembly -> Bitcode and vice versa) (tasm)
  • Created TxTracer tool to debug and emulate any transaction in TON (TxTracer)
  • Created TVM Assembly Playground (playground) and Godbolt-like explorer for FunC code (code-explorer)
  • Wrote several articles about TVM internals in TON documentation

Spawn Programming Language

Core Developer 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 standard library in Spawn
  • Developed tools such as spawnfmt, spawnprof, and spawncov in Spawn

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

V Kontakte LLC (VK.com)

Compiler Engineer Jan 2022 – Sep 2022 · 9 mos

Saint Petersburg, Russia

Support and implementation of new features in the AdmStorm plugin. Created internal AdmStorm plugin for PhpStorm for our developers (admstorm):

  • 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
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
  • Developed a separate NoColor color concept tool for community use outside of KPHP
  • 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
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

Education

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

Bachelor's Degree, Information Technology