Hello! My name is Andrey, I work in the product development department of Veeam Software.
This year marks 6 years since the day I “came” into programming. By the way, it happened spontaneously, and at the time of writing my first code, I didn’t have any specialized education, nor the slightest experience. Today, I create a product that is recognized and respected throughout the world.
')
Today I want to tell my story.
So, I will start from the moment when I was 21 years old, I retired from the ranks of the glorious Russian army and found myself on the gray and cold streets of St. Petersburg. Autumn, lack of housing and money activated all brain cells to answer the question: "What should I do?".
I am a person who is not devoid of ambitions and, being in fact a homeless person, I was planning to become a programmer. I was sure that everything would work out for me: a fine line between confidence and self-confidence. The plan was painfully simple: to find a job where there would be a roof over your head, food and books as a source of knowledge for a future profession, and, accordingly, time to read these books.
The guard of a book warehouse (I am in the cultural capital) is the very profession that could provide all these points. Through a series of incredible events, coincidences and failures, I get a job at the office of one very famous retail chain selling books in the city, where there was a storage warehouse.
I began to live and work there: a shower, a computer of a secretary, a whole warehouse of books and three chairs for sleeping. So flew 5-6 months. At that time, I already mastered Visual Basic for Application and T-SQL well and started writing various Excel automation macros for the secretary. I met with the guys from the IT department, they gave me an isolated sandbox in the virtual machine, where I put Visual Studio and started learning more adult languages: C ++ and C #. I did not forget about fiction: during this time I managed to significantly expand my horizons in this area. Due to this, the girls from the personnel department offered me a job as a sales assistant. I agreed and began to work during the day as a seller on the square. Uprising, and at night - the guard of the office. In this mode, I worked for another six months, I had the opportunity to rent a house. At the same time, the store manager suggested that I become a senior seller. I retired from the guards and began working at the store at night. The position of the night senior seller involves a lot of routine work to fill all sorts of files, reports, scheduling of working hours.
Here I fully applied all the knowledge gained in programming to practice and automated everything that could be automated. By the way, in the bookstore on the square. Revolts still use my programs.
With a colleague at work in the same bookstore (I'm on the left).
There were some departments in the store where I frankly did not know the assortment and could not find the book I needed the buyer. The search terminal honestly said that the book is in the store, but on which shelving unit and shelf it was unknown. I took up a solution to this problem. At my disposal were several ancient, already written off TSD (data collection terminal) and a computer that I began to use as a server. So I started writing my first client server application. A month later I was able to demonstrate the work of the program at one of the departments of the store, which aroused the interest of the management. I was offered to continue developing my application in an adult way: to make a project plan with goals, deadlines and a budget. So I became the head of the project "Address Storage". During all this time, I filled a million cones and invented a lot of bicycles, but it was an invaluable experience and I was able to launch my project in major chain stores.
The project was just launched, and I began to think about where to go next. There was a sharp feeling that I was starting to mark time. I did not pull and wrote an application for dismissal, even without making a resume for a new job. I was afraid that now I’m doing a cozy place for myself and it will be scary to change something, so I cut off my own path to retreat.
Started looking for a new job. I was at many interviews, I didn’t like somewhere, I didn’t like somewhere, but one day I came across a vacancy at Veeam on HH.ru: I met the requirements. I began to read about the company, what they do, etc. And I realized that I absolutely did not understand what was going on. The phrase “backing up virtual machines and monitoring virtual environments” shocked me. But I perfectly remembered the expression: “A programmer is a person who solves problems in a way that you don’t even know existed.” So it's time to become a real programmer. I decided to work at Veeam by all means. Later it turned out that Veeam provides solutions, without which the work of large companies, state companies, is simply not conceivable. institutions, banks, etc.
I was invited to an interview. From the great desire to get a job, I stuttered and made stupid mistakes, but they believed in me and took the UI team. Apparently, I was saved by those “burning eyes” that were written about in the requirements for a vacancy.
The first two weeks of work, I sat with my eyes wide open: I have never seen such a huge and incomprehensible amount of code. I perceived my colleagues as magicians: they spoke and did incomprehensible words and things.
This is me in the process.
“Now I will explain everything to you,” my Team Lead told me, his story was very interesting and completely incomprehensible. Gradually, day after day, the words of my colleagues began to acquire meaning, I was already finishing my first “wizard”. At the beginning, I wrote all my code, using the well-known practice of “copy-paste”,
Ctrl + C - Ctrl + V - 1st stage of the programmer . Then - “enlightenment”: you start to use wherever you need, and more often, where it is completely unnecessary -
“Software design patterns” is a very dangerous 2nd stage of the programmer: the so-called “brain pattern” comes. If you remain in the second stage, then your code will be clear only to you and only at the time of writing, and you will be cursed by your colleagues. My team pulled me out of the second stage, and here I really understood what team development means. “You don’t need to write like that” - this is not an argument, therefore, through jokes and examples, I was literally told on the fingers where it’s right and where it’s not to use complex constructions and patterns. So, through the “rake”, “bicycles” and the help of colleagues comes the
3rd stage: “the code should be written so that it is clear for more than one day not only to the author, but also to people who work with you”.
But, suddenly, it turns out that the code you write should do exactly what users expect from it. It is time to get acquainted with the “QA” department, i.e. with testers. These guys are just “pros”: the product knows “from and to”, according to the logs, they can find the most obvious bugs and give them a complete and understandable description, but they will not miss the pixel offset buttons. We love QA the way testers developers can love :).
But seriously, for three years of work in the company, I have never seen that the developer and tester did not find a common language. We often argue, but only this is how truth is born. In the description of the company promised a friendly team, there is a suspicion that they did not lie.
So, gradually, I became part of a big team. It took a little more time. The product became more complex, the number of the team working on it was growing.
In November last year, we released the next version of the program. For me, this was an important point, which largely determined my future fate. It all started like this:
- Andryukh, screw in the tray icon for Endpoint (our new product for laptops and desktops).
- Oh, ok, I'll do it today.
It ended with a full-fledged Modern UI application with animation, graphics, automatic updates, notifications and much more, in a few months.
It was necessary, of course, to sweat, but everything turned out. I was noted, and now, I am already a Senior Developer. And now the developers come to me for interviews, and now I myself am looking for among them the very “burning eyes” that I saw in myself a few years ago.
In general, the moral of my story is that you need to set a goal for yourself and go with confidence to it. And, not least, you need to choose the right environment that will help you achieve your goal (company for work, people around you). And, of course, there will be bumps (where without them), reinvented bicycles, but there will be insights, and development, and new horizons.
Our product is growing and gaining recognition of an increasing number of users (which immensely consoles my self-esteem). Against this background, the company as a whole is developing. The opening of the new office Veeam in Prague is planned soon. I was offered to move, I thought (yes, I did not immediately pack my bags) and agreed. Now, together with other developers of the team (both experienced programmers and beginners), we are planning to move, to master a new location, to learn Czech beer, and, most importantly, new interesting tasks!