
Free Python Course ➞ Mini-course for beginners and experienced coders. 4 cool projects in the portfolio, live communication with the speaker. Click and find out what you can learn in the course.
Learn more
Develops the backend on Node.js and the frontend on Vue.js at Bohemia Interactive, a studio known for games such as Arma, DayZ, and Ylands, as well as its own engine, Enfusion Engine. He is passionate about dogs, especially Sheltie dogs.
Links are an important element of web content, playing a key role in navigation and SEO optimization. They help users find the information they need and improve the structure of a site. Internal links connect pages of a single resource, which contributes to better indexing by search engines. External links pointing to third-party resources can increase the trustworthiness of your content and improve its authority. Link optimization involves using keywords in anchor texts, which helps improve visibility in search engines. Effective link management helps increase traffic and improve user experience.
My path in IT began with a traditional choice. I graduated from university and began working in my field. There are many programmers in our family: two of my cousins, as well as their parents – my uncle and aunt. So, it was only natural that I chose to study programming at Tomsk Polytechnic University. This decision determined my future development in the field of information technology.
I studied in the Applied Informatics in Economics department. There were a lot of girls in our group, but only two of us, including me and my friend, became developers. The rest decided to focus on areas like 1C: Accounting or economics.
First job in two weeks
Working as a programmer has always been a priority for me, and I was significantly nervous due to my lack of practical experience. My knowledge was limited to lab assignments and practical work at the university, and I didn't even have the opportunity to work in the department.
I submitted my resume for the position of Junior Web Developer, but I was offered work with Python. I was given the admin panel as a test assignment. That same day, I bought books on Python and Django to complete the task as efficiently as possible. I tried to do everything as best I could, but I'm still disappointed that they first told me they wanted to consider other candidates, and then completely stopped communicating without even sending a rejection.
This situation left me in a state of temporary despair. Ultimately, I wasn't able to delve deeper into Python, as the language hadn't piqued my interest from the start, even during the test assignment. However, it's worth noting that this is a subjective opinion, and I didn't have enough time to delve deeper into the language. I was confused by the strict formatting requirements: all those indents, periods, and commas. I distinctly remember a time when my code wouldn't run because of a missing semicolon. I was completing the test assignment in a regular text editor, which didn't alert me to such errors.
Tomsk attracts IT professionals thanks to its opportunities for entry-level professionals. It's a vibrant student city, where finding a job for juniors is easy. After just two weeks of searching, I met my first employers, and it's worth noting that such a search period is quite normal for this field. Tomsk's IT employment opportunities make it an attractive place to start a career.
I find new offers quickly because I'm not overly selective. I usually accept the first suitable offer, as I still suffer from imposter syndrome and lack confidence in my skills.
At my first job, I was told I could master all the necessary skills and was offered PHP programming. This pleased me, as I already had experience with the language, having written my final thesis on it. I was recommended to study the book "Learning PHP, MySQL & JavaScript," and from that moment on, I started earning 10,000 rubles a month in 2013. This start was an important step in my career as a developer, opening up many opportunities for further professional growth.
The book was supposed to be studied chapter by chapter, but my supervisor immersed me in the material daily, explaining how everything works. In some cases, he disagreed with the theoretical aspects of the book and illustrated his arguments with practical examples.
Transition from the web and PHP to game development and JavaScript
I am constantly learning new topics to meet the status of "programmer". At the moment, I am focused on deepening my understanding of the fundamentals, realizing that I failed to master some basic concepts at university. For example, I am learning data structures and algorithms by actively solving problems on the LeetCode and HackerRank platforms. This helps me not only improve my programming skills but also prepare for practical tasks in the field of development.
Learning a new technology begins with familiarizing myself with the documentation. When I'm short on information, I turn to search engines and create a learning project. I often struggle to come up with original ideas for my projects, so I prefer to use ready-made solutions as a basis for learning. In my local repository, you can often find the same project implemented several ways using different technologies. This approach allows me to better understand the features of each technology and expand my development skills.
I've been working with PHP for a long time, but recently I started learning JavaScript and Node.js. I was interested in trying out API development on a new platform, and I chose Node.js for its complete separation of the backend and frontend. This decision opened up new possibilities for creating more efficient and scalable applications.
I enjoy writing JavaScript—it has its own characteristics and can sometimes feel a little clunky. Although JavaScript and PHP perform different tasks, I don't dislike either of these programming languages. Each has unique capabilities and is suitable for different development scenarios.
After three years of working for a Russian company, I decided to relocate to gain new experience. Initially, I looked for a job in Germany, but didn't receive a single offer. Discussing this situation with a therapist, I realized I hadn't sent out enough resumes. Then I switched to the Czech Republic, and after just three emails, I received a job offer.
I value the experience and the opportunity to work on an English-language project. It was for the new knowledge and improvement of my English that I decided to move. However, now I'm starting to doubt that the Czech Republic was the best choice, and I realize that my move wasn't well thought out. We are currently considering moving to the Netherlands or Canada, but for now these are just considerations.
In the Czech Republic, I got my job as follows: I initially interviewed for a position that required knowledge of Czech, which I don't speak very well. As a result, I was offered an interview for a different position. When I came to the interview, I expected questions about PHP, but they started asking about JavaScript, which I wasn't confident in. Nevertheless, I successfully passed the interview and was invited to a trial work day. For this, I took half a day off from my previous job and came in for a probationary period.
This experience highlighted the importance of flexibility and preparedness for unexpected changes during the hiring process. The ability to adapt to new conditions and a willingness to learn new technologies open doors to new career opportunities.
You shouldn't do this, and I only realized this now.
I was tasked with rewriting code using the old Express framework in Koa and completing the project under a tight deadline. The team was happy with the result, and I received a job offer I couldn't refuse. I was happy to leave my current position to start a new career.
At my previous job, I had a two-month handoff, and during that time, four programmers left the new company. Neither of them were able to continue working on the PHP back-office project. As a result, I was offered this responsibility, which led to a change in the terms of my employment contract. Living in the country on a work visa imposes certain restrictions, and turning down a job can be daunting. So, I made the decision to continue working with PHP despite my desire to change tech stacks. After a year and nine months, I was able to make the transition. They spent six months searching for my replacement, eventually finding two specialists, and after an internal interview, I was offered the opportunity to move into game development. For two weeks, I worked on another game project for the company to demonstrate my skills, as I had no commercial experience with Node.js or a JavaScript backend. This internal internship allowed the team to assess my suitability for working in the gaming backend. I studied diligently, and ultimately, I was accepted into game development. I am very happy that I was able to achieve my goal, as my original dream was to work in this field. However, the year and nine months of waiting somewhat dampened the joy of accomplishment.
Game development is a unique field with its own unique requirements and characteristics. Essentially, I do the same thing as developers in other fields, creating methods and classes. However, the uniqueness of game development lies in the different entities we interact with. In this industry, the key elements are players and the in-game processes I work on. For example, a player's profile is fundamentally different from the profiles of users of web applications developed in PHP. Understanding these differences allows us to create more engaging and tailored gaming experiences, which is an important aspect of successful game development.
Game backend development is a more complex task than creating the server-side component for web applications. Our company employs experienced game programmers who implement game logic and develop APIs. In the final stage, it is the backend programmers who are responsible for integrating all of these components into a cohesive whole. This work requires deeper knowledge and skills, as well as the ability to handle large-scale tasks, which makes it more challenging compared to web development.
I am passionate about coding and consider myself a coder, not a developer or programmer. This allows me to effectively solve complex problems, devoting sufficient time and attention to them. I decompose each task independently, without the need for guidance through Jira or strict adherence to sprints. One of my key responsibilities is the complete creation of the game backend, which requires deep immersion in the project and meticulous consideration of all its aspects.
For those aspiring to start a career in backend development, mastering the basic concepts is important. It is recommended to study how a computer and a browser function, as well as understand the process of transmitting requests. Knowledge of algorithms and data structures is a necessary step on this path. To gain the necessary knowledge, you can take online courses, which are often offered for free.
Donald Knuth's book "The Art of Computer Programming" is often recommended as a classic in the field of programming. Many beginning programmers start reading it, but not everyone finishes it. Personally, I was not entirely satisfied with the presentation of the material: there is too much information, and it is presented in a complex structure. Therefore, I cannot recommend this book, although this is just my opinion.
In the future, I plan to develop as a programmer and deepen my knowledge in this field. At the moment, I do not see myself as a manager, as I still enjoy writing code and I do not want to give up this fascinating activity. My desire for continuous learning and improving my programming skills is my main goal for the coming years.
Reworked text:
You can also read other articles on our website. Here you will find useful information and tips to help you better understand the topic. Don't miss the opportunity to expand your knowledge and get up-to-date data.
- How to start programming in PHP
- "To keep up with everything, I hardly sleep": how to become a really cool mobile developer
- How to parse websites and media materials using JavaScript and Node.js

