Series "How to become a programmer: stories of our mentors "
- How to become a RoR web developer: Ivan Takarlikov’s story
- Where to begin as a programmer: Ilya Konovalov’s story
- How to become a RoR Developer: Stas Mehonoshin’s story
- How to become a programmer: Kirill Shirinkin's story
- How to become a Python Developer: Aleksey Kurylev's story
- How to become a Java & Spring Developer: Rinat Muhamedgaliev’s story
- How to become a QA Engineer: Pavel Konev’s story
- How to become a PHP-developer: Ruslan Kuptsov’s story
How to become a Python Developer: Aleksey Kurylev's story
Unlike most of my colleagues I wasn’t born a programmer. I was born a musician. I didn’t learn how to program at university and never wanted my life to be connected with IT up to some point.
But I was always attracted to Moscow with its wide sidewalks, long embankments and huge parks. However, when you are there, you feel the need of money more that in any other part of our wonderful homeland. At that time my brother rented a flat with two programmers working in some bank. Thus, during the one of kitchen talks, I got wrapped up in the Python world. It’s been a while since then before I got my first job as a Python developer.
My first steps in programming
Well, I ended up in Moscow and to find a job, as I couldn’t live at someone else’s for a long time. My skills at that time were enough only for working in a technical support at some large and corrupt company. I was answering the claims over the phone and walking to and fro in the halls to plug in the mouse devices to the system units, as the office workers always tore them out.
This was where I wrote my first program, as I knew that what was going on around me was a complete nonsense. When I had no mundane chores to do and had some free time I was analyzing the language means and writing some scripts for system administration. Senior administrators noticed that in no time and started giving me the tasks to right one program or another, so, as a surprise to me, I discovered that even with my little experience I still programmed better than them and thus might be useful.
My first job
Surprisingly enough, I never worked as a Junior. I straightly started as a Middle. But I had some tries to start as a Junior developer and I clearly remember that interview.
Two highly-educated programmers (funny enough, they were a married couple) were assessing my knowledge and my way of thinking, then deduced that I wasn’t ready, but I wasn’t rejected , but given some literature to look through and learn. In two weeks I came back and showed my fantastic learning capability, having answered most of the questions I couldn’t before. The next day I had a call that I was employed. They mentioned my salary, which was so little that it wouldn’t be enough for me to pay for rent and food, let alone any bells and whistles. I refused straight away and never regretted, as I started as a system administrator at an internationally famous company, where I continued my self-education of a programmer. From this story I got one very important idea – nothing gives you bigger impulse than an interview!
At some point I was so sick of my administrative work that I saved some money and went to India to travel for six months. If only I had been able to describe how great it had been, I would have written a whole book, not only this article. On my return I knew for sure that would try to find a programming work again, luck was on my side and was better prepared this time. I greatly improved my spoken English thanks to my travels and now it helps me every day when I communicate with my colleagues. Being inside the language environment proved to be more efficient that any textbooks (the same might be said about programming too). But it’s better to jump into it knowing the basics, otherwise you’re going to use the environment which allows you to become proficient to learn its 101.
Well, anyway. On my first job I was the only backend developer in the whole company! Could it be worse? Well, I asked for it, I got it! But on my second job I was a part of the greatest team of the real professionals with solid background. Shoutout to them for introducing me to the code culture and high development standards. Misha Korsakov and Andrey Belyak, kudos to you!
Here and now
Now I’m working remotely in an international company and it has its benefits! Don’t get me wrong, I’m not lying on the beach with a laptop and enjoying myself all the time. I still work a lot and I’m often tired, but I shouldn’t work from office. I live I Saint-Petersburg, sometimes travel. I had a chance to live in Portugal, Italy and Georgia, but I can’t say that I was kicking off there. Organizing the trip might be complicated and combined with work it might be twice as difficult as an office work or work from home. But you can see a bunch of new, lovely and exciting things. It’s an unmistakable benefit!
My mentorship started in a funny way and of its own accord. Once I was at my friend’s and accidentally left a Python and Django book. I saw him a year ago next time and was shocked. He told me that he was working as a programmer! He said that I’d left the book, he read it, created a website and got his first job.
What a twist!
I continued my mentorship when I started teaching a particular friend of mine. Despite the fact that he spends most of his time on his main job, the work goes with a swing. His first programming job is just round the corner!
Can you give some advice that is usually considered to be controversial?
Try mostly anything and be in the middle of hype! Do not miss any opportunity to practice! Be cooperative and ready for any suggestions!
And it’s vital that you:
“In the face of ambiguity, refuse the temptation to guess.” - zen of python.
How do you maintain your skills to be relevant? How do you grow and get better as a developer?
Well, the work doesn’t stop your skills from being relevant. You have to do something new every day. And I read, obviously, learn some other languages and communicate with other developers. I sometimes develop some web-services in collaboration with my friends, with no payment, just for fun. And when I have an opportunity, I try to rest a little more, It’s also essential as it helps the personal growth to be faster.
Your top 3 books for a newbie?
- Programming in Python 3. A Complete Introduction to the Python language by Mark Summerfield
- Python Web Development with Django by Wesley Chun, Paul Bissex, and Jeff Forcier
- Clean Code by Robert C. Martin. You can read it even if you don’t know Java, there are a lot of great recommendations. You may as well start learning Java.
Your working area photo