How to become a PHP-developer: Ruslan Kuptsov’s story

Three people viewing a large portrait in an art gallery, surrounded by other artwork on the walls, sketched in a monochrome style. Three people viewing a large portrait in an art gallery, surrounded by other artwork on the walls, sketched in a monochrome style.

How it all began

I wanted to become a programmer since school and always mentioned that in my school essays. However, even though I had never been the best student at the IT classes and used to skip most of them, by the end of the school I decided that I really wanted to be a programmer and that would be my number one life goal.

My first steps in programming

After finishing school I decided that I needed to learn HTML. It took me around 5 hours to master it and after that I was able to create any HTML page like a breeze. I didn’t know anything about CSS and used only table layout all the time. The pages that I made looked ugly, but I was kinda happy with them.

I didn’t quite know how to become a real programmer and what exactly to learn to become one. On top of that, my family was also short of money, so I found a job in a local recruitment station as an Excel data entry worker and I worked there for over a year. After a while, I started to realize that was not moving towards my real goal, but in a completely different direction, so I decided to look for some internship that would be connected with IT.

How I got acquainted with PHP

I left my job at the recruitment station and got myself digging into all sorts of job websites. After some time I found a company which was offering a PHP internship and a job afterwards. The only thing I had to do was to pass an interview. At that interview I was asked about my programming experience and if I was ready to study PHP every day for 4 hours as well as do all the homework for three months. Two weeks after an interview, they contacted me to tell me that I’d passed and invited me for the internship.

Every group had 10 students in it. I was studying very hard and sometimes had only 3 or 4 hours of sleep. Sometimes I was getting crazy with the amount of information that I had to process. I bought an online course, which also helped me to move forward, as there was a lot of extra content and the main info was presented in an easy-to-digest way. There were no professional programmers in my social circle, so I had to spend a lot of time and effort searching for the things I needed, but now I see that it was worth it. After 2 months of studies, 5 people out of 10 just didn’t make it. I turned out to be one of the top three students, even though at first my knowledge had been rather shallow and I hadn’t been able to create the simplest pages using PHP. After the internship ended, we were offered jobs on different projects.

My first job

The first project we were given after we had finished the internship was an automobile website built with Zend Framework.

Each of us got a separate individual task. I was thinking of that as a huge success, even though the starting salary was kinda small. On the other hand, such a salary became an incentive for my professional growth, as I could see the real salaries on the market and they were several times higher than mine.

Four months later, my colleague and I left that company in search of better pay. It took us only two weeks or so to get recruited as PHP-developers by an Internet hosting provider, where we started working on a billing system. That increased our salaries about two times. I was working there for seven months before I realized that I had become experienced enough to look for a new job, and at that exact moment, a friend of mine offered me some tasks at a freelance marketplace. This is how my story of remote work started.

Here and now

When I became a freelancer, I was finally able to see the gaps in my knowledge, my weaknesses, and the specific skills I needed to improve to always have a regular flow of highly-paid orders. It’s been 8 years since then, my income grew many-fold, and now I’m working only remotely on high-load projects. Looking back, now I see that all those sleepless nights and tons of technical documentation, books and articles I read have lead me to the goal I’ve had in my mind from the very beginning. So don’t you ever give up!


Having such a wide background and experience, I started thinking about sharing it. After some search, I found out that GeekBrains (online learning platform by Group, one of the biggest internet companies in Russia — translator’s note) was looking for lecturers. For over a year I was teaching Yii2 framework there and then was working with several groups using my own course. After a while, I lost interest in it and began polishing my own skills as a DevOps engineer and in desktop application development.

One day I stumbled across and again felt the urge to teach and help others this way. I contacted the support team and introduced myself and my skills. I was interviewed and tested and later invited as a mentor. I’m eager to share my knowledge and skills and always feel happy to be of any use.


Can you give some advice that is usually considered to be controversial?

Understanding how programming works is a crucial thing. There are many arguments on the internet about which language is better. However, to my mind, which one is the best doesn’t matter at all. Nobody cares about what language you use as long as you make it work. It doesn’t mean that one language is enough, but your language, be it one, twenty, or even 100, is a tool which lets you solve all sorts of problems. So my advice is to choose the one that your heart tells you to choose.

How do you maintain your skills to be relevant? How do you grow and get better as a developer?

Almost every day I look through online IT communities, visit all sorts of conferences, watch webinars and read IT-related books.

Your top 3 books for a newbie?

  • Clean Code explains how to tell good code from bad code and why the code that works doesn’t automatically mean that it’s good;
  • Linux Bible: the industry favorite Linux guide;
  • The Pragmatic Programmer: From Journeyman to Master shows technical and non-technical requirements to programs and developers, from personal responsibility to architectural methods.

Перевод с русского на английский сделан Анной Можаевой.

Translated from Russian by Anna Mozhaeva.