How I became a programmer. The path from the St. Petersburg homeless to Senior Developer in 6 years

    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" to programming. By the way, this happened spontaneously, and at the time of writing my first code, I did not have any specialized education or the slightest experience. Today, I create a product recognized and respected throughout the world.



    Today I want to tell my story.

    So, I’ll start from the moment I turned 21, I quit the valiant Russian army and ended up on the gray and cold streets of St. Petersburg. Autumn, lack of housing and money activated all brain cells to answer the question: "What to do?"

    I am a person who is not without ambition and, being a homeless person in fact, I planned to become a programmer. I was sure that I would succeed: a fine line between confidence and self-confidence. The plan was painfully simple: find a place of work where there will be a roof over your head, food and books as a source of knowledge for a future profession, and, accordingly, the time to read these books.

    The bookstore guard (I’m in the cultural capital) is the profession that could provide all these items. Through a series of incredible events, coincidences and setbacks, I get a job at the office of one very well-known retail network for selling books in the city, where there was also a storage warehouse.

    I began to live and work there: shower, secretary's computer, a whole warehouse of books and three chairs for sleeping. So flew 5-6 months. At that time, I had already mastered Visual Basic for Application and T-SQL well and started writing various macros for automating work with Excel for the secretary. I met with the guys from the IT department, they allocated me an isolated sandbox in a virtual machine, where I put Visual Studio and began to study more mature languages: C ++ and C #. I did not forget about fiction: during this time I managed to significantly expand my horizons in this area. Thanks to this, the girls from the personnel department offered me to get a sales assistant. I agreed and began to work as a salesman on Sq. Riots, and at night - the office guard. In this mode, I worked for another six months, I had the opportunity to rent a house. In the same time, The store manager invited me to become a senior seller. I quit the guards and started working at the store at night. The post of senior night seller involves a lot of routine work on filling in all sorts of files, reports, scheduling working hours.

    Here I fully applied all the acquired programming knowledge in practice and automated everything that was possible to automate. By the way, in the bookstore on pl. Rebellions 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 the buyer needed. The search terminal honestly said that the book is in the store, but on which shelf and shelf it was not known. I took up the solution to this problem. At my disposal were several ancient, already decommissioned TSD (data collection terminal) and a computer that I began to use as a server. So I started writing my first client-server application. Within a month, I was able to demonstrate the work of the program in 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 draw up a project plan with goals, deadlines and a budget. So I became the head of the project “Address Storage”. In all that time, I got a million cones and invented a lot of bicycles,

    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 stagnate. I did not pull and wrote a letter of resignation, not even writing a resume for a new job. I was afraid that now I would sit in a comfortable place and it would be scary to change something, so I cut off my path to retreat.

    He began to look for a new job. I was at many interviews, somewhere I didn’t like, somewhere I didn’t like, but once on HH.ru I came across a vacancy at Veeam: I met the requirements. I started reading about the company, what I’m doing, etc. And I realized that I did not understand what was at stake. 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 completely incomprehensible way to you that you did not even suspect existed.” So it's time to become a real programmer. I decided, by all means, to work at Veeam. Later it turned out that Veeam provides solutions without which the work of large companies, state-owned companies, is simply inconceivable. institutions, banks, etc.

    I was invited to an interview. From a huge desire to get a job, I stuttered and made stupid mistakes, but they believed in me and took me to the UI team. Apparently, those “burning eyes” that were written about in the requirements for the vacancy saved me.

    The first two weeks of work, I sat with my eyes wide open: I had never seen such a huge and incomprehensible amount of code. I took my colleagues as magicians: they spoke and did strange words and things.


    This is me in the process of work.

    “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 take on meaning, I was already finishing my first “wizard”. At first, I wrote all my code using the well-known practice of copy-paste,Ctrl + C - Ctrl + V - 1st stage of the programmer . Then - “insight”: you begin to use it wherever you need, and more often where it is completely unnecessary - “Software design patterns” - this is a very dangerous 2nd stage of the programmer: the so-called “brain pattern” begins. If you stay in the second stage, then your code will be clear only to you and only at the time of writing, and you will be damned by colleagues. It was just from the second stage that my team pulled me out, and here I really understood what team development means. “You don’t need to write like that” is not an argument, therefore, through jokes and examples, they explained to me literally on the fingers where it is right and where not to use complex constructions and templates. So, through the "rake", "bicycles" and the help of colleagues comesStage 3: "the code needs to be written so that it is understandable 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. The time has come to get to know the QA department, i.e. with testers. These guys are just “pros”: they know the product “inside and out”, by the logs they can find the most unobvious bugs and give them a complete and understandable description, but they won’t miss the button pixel offset. We love QA the way testers can love :).


    But seriously, in my three years at the company I have never seen a developer and a tester not find a common language. We argue often, but this is the only way truth is born. The company’s description promised a friendly team, there is a suspicion that they did not lie.

    So, gradually, I became part of a large team. A little more time passed. The product became more complex, and the size of the team working on it grew.

    Last November, we released the next version of the program. For me, this was an important moment, largely determining my future fate. It all started like this:
    - Andryukh, screw the icon for Endpoint (our new product for laptops and desktops) into the tray.
    - Ah, OK, I’ll do it today.
    Ended up with a full-fledged Modern UI application with animation, graphics, automatic updates, notifications and much more, in a few months.

    Of course, I had to sweat, but everything worked out. I was marked, and now, I'm already Senior Developer. And now, developers come to me for interviews, and now I myself am looking for the “burning eyes” among them that I saw in me myself a few years ago.

    In general, the moral of my story is that you need to set a goal and confidently go to it. And, importantly, you need to choose the right environment that will help achieve your goal (company for work, people around you). And, of course, there will be bumps (far without them), newly invented bicycles, but there will be insights, and development, and new horizons.

    Our product is growing and gaining the recognition of an increasing number of users (which immensely amuses my vanity). Against this background, the company as a whole is developing. The opening of a new Veeam office in Prague is planned soon. I was offered to move, I thought (yes, I did not immediately start packing my bags) and agreed. Now, together with other developers of the team (both seasoned programmers and beginners), we plan to move, master a new location, learn Czech beer, and, most importantly, new interesting tasks!

    Only registered users can participate in the survey. Please come in.

    And how did you “come” to programming:

    • 33.2% "Spontaneously", as the author of article 1317
    • 66.7% It was a conscious choice, dreamed of being a programmer from school / university 2644

    Also popular now: