I was never willing to be a programmer. I took computer studies as one of the final exams at school, as this subject wasn’t difficult for me and it might allow me to enter some more or less decent universities. I was inclined to study in Saint-Petersburg at that time, choosing between such places as University of Telecommunications, Peter the Great Polytechnic University and Saint-Petersburg State University.
My choice was right, final exams were successful, so I entered the university I wanted. And there I stopped thinking about my future for some time. I moved to the big city, had no control from my parents and was so drunk with freedom, that for almost a year I was doing only some side jobs to earn some money.
My first steps in programming
By the beginning of the second year of my studies some sound ideas started coming to my mind, and I decided to reflect on what I could do to earn some money, so that it would be interesting for me as well. I thought back to the times when I had exams at school and remembered which subject I actually took and where I actually studied at that time. So I dared to do some programming. I bought a few of programming books about some familiar topics (Java, microcontrollers) and tried to sort out this shit. I was trying to grasp the basics of object-oriented programming in Java for a long time and with almost no result, as it was difficult to understand how to implement all that stuff to real tasks and I had absolutely nobody to ask how to actually master programming. Eventually, I gave it up and stopped thinking about it for a month.
How I got acquainted with Ruby on Rails
After that whole unfortunate month I got a message from my ex-schoolmate. It was something like “Hey, don’t you want to be a programmer? You’re not stupid or anything, you know. We have a team here and it would be nice to have a trainee. I’ll help with anything what is not clear.” I agreed to the offer, as the conditions were not bad: remote work, training, real money for the tasks at the rate of 100 roubles an hour. And so my training started. It was usually at night or in the early mornings. In total I’ve been learning for about 20 hours. Then I was given my first task, which I was supposed to finish in 3 hours, but did it in 10. The thoughts that it wasn’t for me arose in my head, I began to slack off and by the end of November I wasn’t even thinking about programming again.
My first job
After a while I was searching the web, trying to find another side job in IT (at that time I was laying the fiber optic cable, but it was hard and wasn’t paid well). There I found an open position of Junior Rails developer/trainee. In the description there was a line “If you have no experience, but a huge desire, we’re ready to talk to you too”. I thought that it was right about me, so I decided to try.
I made it to ITMO University, went to their business incubator, entered the office and... I was right in the middle of programming, website development and startup atmosphere. The team lead tried to interview me, asking some questions about Ruby and about logic in general. I vividly remember that I’ve answered only 2 questions out of 7. The team lead (my regards to you, Roma) said that it was enough and I thought “Well, I’ll study up and come back later”. But when I asked Roma how I was, he, as a huge surprise to me, said that everything was fine and just turned back to the screen again.
When I was walking downstairs, I had a talk with the project manager.
He asked me how much money I would like to have and I shyly mumbled something like 15000 roubles. The project manager agreed and suggested that I would start on Monday. I still had no idea what had just happened, so I just went home. So that’s how I actually got my first programming job as a Ruby on Rails trainee with the salary of 15000 roubles. I was absolutely happy with that, as my previous job was tougher with the same salary and no prospects, and programming was obviously more promising.
Here and now
It’s been a while since I got my first job. Since then I’ve multiplied my salary several times and completely satisfied my own expectations considering my programming studies. I had my own ups and downs during that time, as we all do. I experienced payments 3 months later that they were supposed to be, came across bankrupt startups which still owe me some money but do not make contact with me anymore, and lots and lots of nice encounters. The weirdest thing is that what helped me with my career promotion most was probably my social skills. There’s nothing special in a programmer’s job, you just need to make up your mind, give it a go and then reap the fruits of your imponderable success.
From the very begging of my career I was excited to share the stuff that I was working on with someone else. I was trying to teach my girlfriend how to code, help my groupmates and show them that there’s nothing difficult after all. So when I came across the position of a mentor on mkdev, I applied for it without thinking twice. Sharing my knowledge with people is awesome and it’s also awesome that even more people will be able to earn their living and potentially change their lives for the better.
Can you give some advice that is usually considered to be controversial?
I think that in a programming sphere what is important is not your programming abilities, but social skills, working in a team, asking if something is unclear and supporting your point of view with the arguments when it’s needed. And, of course, admitting your own mistakes.
How do you maintain your skills to be relevant? How do you grow and get better as a developer?
If there’s a possibility, I usually choose some unconventional ways of solving the tasks (a new language, a new framework etc.), surf exercism.io every now and then, and obviously read.
Your top 3 books for a newbie?
Telling the truth, I have read only a few of programming books, the same goes for books on Ruby. So I’ll mention the one that will be helpful for sure. Agile Web-development with Rails | Sam Ruby. And obviously rubyonrails.org, there you can find answers to 95% of entry-level questions about Rails.
Your top 3 sites/newsletters/information sources that every developer should read?
I wouldn’t say about everyone, but I listen to rwpod.com, read some other sources and follow some prominent developers on Twitter.
Some mixed sources:
Your working area photo