I’ve been into computers since I was a kid. In 2010, when I was 9, I typed “a program for making programs” into a search engine and found DevelStudio, a development environment where I made small GUI programs in PHP.
Around that time I was sent to computer classes, where I learned JavaScript and C#, and I was literally the best student across all the courses. My teachers were even amazed by what I could do.
In 2013, like a lot of kids, I played Minecraft PE. One day I joined a server and got myself a pile of in-game currency (the server didn’t check for negative numbers). The owners noticed me and invited me to join the project as a developer, and that’s how I started working on it. Back then I rewrote a lot of plugins from scratch that had originally been made for a different version of Minecraft. Later on, the server was handed over to me.

Minecraft Projects
After that I had lots of servers of varying quality. The interesting thing is that, unlike most server owners, I wasn’t chasing profit. I built game worlds because I enjoyed it. Money never interested me. What I always loved was growing and running a project together with a team.
I still remember the algorithm behind my fidget spinner in Minecraft. I took the compass texture, which had 16 frames, one for each direction to the compass target point, and redrew it as a spinner, 16 textures at different angles. If you kept tapping the button quickly, the target point rotated around the player, and that made the spinner look like it was spinning.
There was also something that someone actually bought from me: I dug into Minecraft’s internal UI definition files and made a HUD that was always visible to the player. It showed their balance, level, stats and other info. Back then, in 2017, as far as I could tell, even the big servers didn’t have anything like that yet.
I got out of that whole scene in 2018 and haven’t had any Minecraft projects since.
Digging into IL (.NET Intermediate Language)
In the summer of 2017 I was playing a deathmatch shooter, and I wanted not just to be good at it but to understand how the game worked on the inside by making a cheat for it. The game was built with Unity, so its code was written in C#.
First I disassembled the game’s code and started figuring it out. At the time I knew nothing about stack machines, so I just started changing strings. Imagine my surprise when the strings I changed in the code actually changed in the game itself.
Then, right in the assembly code, I started trying to call methods for things like firing a shot or throwing something. Once I rebuilt the library, the code worked. After that I added a UI and hotkeys that triggered hooks attached to the original code.
Eventually I moved the main cheat code into a separate library, attached it to the main game library and called its static methods from the hooks. That let me write the code comfortably in C#, and I even had autocomplete showing what was available in the game library.
These days I hardly play computer games, and I definitely don’t make cheats for them. I’d rather play fair. But back then, this is how I came to understand how virtual machines work. The JVM works on similar principles, of course, but my biggest dream is for WASM, which is lower level, to replace all the other virtual machines.
By the way, in 2019 Docker’s creator Solomon Hykes said that if WASM + WASI had existed earlier, there would have been no need to create Docker. I’d really like to see WASM containers replace Docker 10 years from now. WASM is lightweight, starts quickly and is secure because it runs in a sandbox. It’s a shame it has no way to shrink memory once it’s allocated, but at least there’s WasmGC: objects live in the engine’s own heap and get freed by the garbage collector.
University and Programming
In 2019 I started university, majoring in System Analysis and Control. Even though I’d been building web apps back in 2015 with the original AngularJS, by the time I enrolled everything had changed, and I decided to focus on web development.
At that point I was experimenting with Vue 2 and React. For all my assignments I built a web interface and wrote the logic behind it in JS and in Rust compiled to WASM. During my student internship I automated the collection of service price data, which cut down on manual work for front-line staff.
Around my third or fourth year I met my current employer and started building various applications for them.
Working at an Industrial Company
Today I develop applications and implement systems for an industrial company, where I’ve been working since 2024. I work in the field I studied: both what I learned at university and the skills I’ve picked up over a lifetime of programming help me do my job well.
At work I introduced a time-tracking system, which made it possible to calculate salaries instantly, keep track of late arrivals and unexcused absences, and run in-depth analytics on all the work being done. It’s all built on React + Node.js. One interesting part: I used the Prisma library and built a query builder that generates two-axis reports grouped by different categories, like “Process type -> Operation -> Month”. The builder queries a database view, and the data is loaded in parts as you expand the groups.
At first our team had no designer, so I did the design myself. I thought my design was pretty decent until a designer did it the way a professional should. I was very wrong: my design looked like a Windows XP app :)
I also integrated AI into this system. Originally I planned to make a separate page inside the app, and since early agents had small context windows, I wanted to rewrite the chat history on the fly. But then I realized that would break caching (if you change the prompt prefix, you pay for the whole conversation instead of the cached part). And most importantly, MCP came out while I was working on it, and AI models started making fewer mistakes.
These new solutions made it possible to build pipelines. For example, a manager can set up automatic emails to upper management on their own, listing the employees who were late, absent or left early that week (or over two weeks, or a month).
I also keep in mind that not everyone wants to hand data about company spending over to who knows who, so the AI’s access rights are restricted. You can use your own account with the same permissions, or create a restricted account. You can also hide financial data completely, which is extremely important in our company and, I think, in others too. Roughly speaking, the AI sees exactly what the person it’s working for sees, and nothing more.

How AI Changed My Work
What changed when AI came along? The work itself changed. I started using AI in early 2025, and I can say for sure: you can’t use AI without real knowledge. I use it like a typewriter and double-check everything it gives me.
With AI, I enjoy programming even more than before. It’s like an electric bike: it helps a lot so you don’t get tired, but you end up pushing even harder, and your skills keep leveling up.
AI also helps you learn new things, since it lets you find answers to a huge number of questions. If someone wants to learn something new, AI will only help.
What Qualities a Developer Needs
You need to be able to work in a team, listen to your colleagues and make compromises. You should always be open with your managers, explain anything that’s unclear and help out. Persistence matters too: being able to sit in one place for a long time and work on the same problem on your own without getting distracted by games or the news.
But the most important thing is for a developer to actually enjoy “digging around inside the computer”. You have to be naturally drawn to it.
