how to understand that you have a penchant for programming

how to understand that you have a penchant for programming

Greeting! My name is Bulat Khabibullin. I have worked in PR for almost my entire professional life, but at the age of 29 I wondered if I like what I do? I will tell you how I went from a PR person at Revolut to a developer at a Danish Greentech startup, as well as what are the signs to understand that you can become a good programmer.

Photo: Olga Kuzmenkova

Disclaimer: yes, this post is written from a submission to the Praktikum. I do not hide that I studied in them. At that time Praktikum was definitely the best school in Runet, they gave me a very strong start. I am grateful to them for this and never refuse a request to share their thoughts. If you are interested in learning more about yourself frontend development course and the learning process, that’s it link to my old post.

How I built a career in PR, but realized that something was wrong

At school I liked irons and technology. I didn’t have a computer at home, but my relatives had one, where I visited every week. My uncle is a big geek, he told me about operating systems, processor architecture, how CD-ROM works. In the ninth grade, I got a Symbian smartphone and my friends and I heavily customized them. Today, when I look at Apple’s releases, I sometimes think, “Oh, I had that on my N-Gage in 2006.”

I did not shine in the exact sciences, but certain things brought pleasure. I was good at solving basic computer science tasks in Basic and Pascal, and I enjoyed geometry. In mathematics, I had to take a tutor in order not to get a triple in the certificate. This tutor discouraged me from pursuing a humanities major and said I had a technical mindset.

It is a big question how 16-year-old people choose their education, but I did follow the humanitarian track: political science, philosophy, sociology. After graduating from the university, I worked as a copywriter, then moved to PR, marketing, and branding. The first famous brand on my resume and, as it turned out, the last place of work from my old profession was the Revolut online bank.

My task was to build the so-called “employer brand” so that programmers and other technicians dream of working with us. I didn’t understand much about software engineering, so I started carefully immersing myself in this mysterious world: I watched videos, poked at random Python courses and hung out a lot with developers to understand what they do and what they want from life.

Shot from the presentation at the London Microservice Meetup at Revolut’s London headquarters

In 2019, I realized that our paths with Revolut would diverge. At that moment, I was very burnt out, I wanted big changes and adventures that were not related to my old job. I had savings, curiosity and a lot of programmer friends who whispered in my ear: “Try to roll…”. I decided to give it a try.

From PR to IT: first internship, work at Bookmate and relocation to Denmark

Of the platforms available at the time, I like Praktikum, they had an intuitive user experience and content written easily, with humor and without formality. Back then, they only had three or four courses: frontend, backend, and something else. With the same programmer friends, we decided that rendering cats in HTML would be more fun for me than reading server errors in Python, so I went to frontend course.

A few months after buying the course, the pandemic began. I didn’t work and studied 24/7. It was very interesting, sometimes difficult, but I saved myself by thinking that I could always return to my old profession with new knowledge.

Three or four months before the end of the course, I was accepted for a very cool internship at the Kazan company “Technocracy”. We, interns, were even entrusted with a real project – software for managing hotels and rental premises. I worked there for about seven months.

Then a friend called me to Bookmate. We worked on a web client that duplicates the entire functionality of the mobile application, including the reader itself. Bookmate had a very strong engineering team. People were deeply knowledgeable about everything they were doing and were rooting for quality. I took a lot from there in terms of engineering culture.

A year later, a former colleague from Revolut invited Platypus to his startup, which helps measure employee happiness and draw this data on beautiful graphs. I passed the interview and moved to Denmark. Last summer, Platypus failed to raise investment and shut down — a classic story of an average startup.

I stayed in Denmark and got a job at ZeroNorth. It develops software for shipping that helps optimize the routes of cargo ships, burn less fuel and reduce CO2 emissions. I like that we have a clear and correct mission. I settled in as a front-end developer, but the product teams are organized in such a way that I do a bit of back-end and database work. This is a great opportunity to try new platforms and technologies.

6 qualities that will help you become a programmer and develop faster in your profession

I have been in my new profession for a little over three years. During this time, I realized that some character traits help to get used to it faster and more comfortably and can even ensure rapid and strong growth.

Love for the new and the unknown

Maybe love is an exaggeration, but you should be comfortable and happy to constantly understand something new and unknown, master new technologies, concepts, ideas. You shouldn’t get too tired of it because it’s an integral part of your routine.

It is very pleasant to absorb new knowledge, understand new and complex things and say “wow, that’s great.” But someone can be very exhausted by the process itself, and someone can be stressed by the thought that it will never end. Situations when you will sit down and be able to say: “that’s it, I’ve learned everything” will never happen. And this thought should not depress you.

Perhaps all of the above is true for any other profession, but in development it manifests itself more vividly. Do you know the iceberg meme? The top is what has already been learned, and under the water is what remains to be learned. You should be okay with the fact that this will always be the case.

Tolerance for chaos

In development, everything does not go according to plan – it does not render, does not build, does not authorize. I didn’t look at the code for two days – it stopped working. You didn’t touch him, but he stopped! Everything constantly breaks, and everything constantly needs to be fixed. Of course, it’s unpleasant, but if the slightest discrepancy between expectations and reality causes panic and the desire to give up, you will have a hard time.

I remember that during my studies I could spend hours and even days investigating a single bug. It usually turned out to be a typo or I was looking at the wrong file. Or the electricity was turned off, and with it the Internet. Something similar is happening today.

At the start, I was very worried and upset, but still, my main reaction was the desire to figure out what went wrong and quickly fix everything. With years and experience, immunity to breakdowns and chaos has strengthened.

Independence

You are used to and able to solve your own problems, rely mainly on yourself, take responsibility, do not rely on other people’s help, and go solo. In general, be independent.

Some find it easier, some find it more difficult. It is difficult for someone to imagine what it is like to read the instructions, the law, the sign in the store yourself, and not to ask a close friend, colleague, seller or family member. Someone simply did not try to live like this.

At the start of our studies, we were given a small but very high-quality instruction on independence. There was even some kind of protocol: reread the documentation, try all, even the most ridiculous ideas, give yourself at least an hour and only then ask for help, but necessarily in writing and in a general chat. Usually, the question was removed at the stage of writing the question.

This organizational moment helped me to understand how much better knowledge is learned if you solve most of the problems yourself.

Care

Some kids start with an innocent question like “why do you need a job?” and then keep asking “why” until you get to the arrangement of the universe. You have to be such a child a little, within reasonable limits.

It must be important to you to get to the truth. Why yes and not otherwise, what will happen if you do the opposite, where did it come from, why does it work that way. It is not just the result that is important to you, but how and why you achieved it. The more scrupulous the better.

I remember I couldn’t sleep, because the browser console was still writing to me when I entered some commands along with the result undefined. It doesn’t affect anything at all, but I just climbed the wall. As a result, I found the answer and accidentally understood many important things related to both the browser and the language.

Organization

It is difficult for me to choose one word, but it is about some kind of cognitive organization or even ability. In other words, you have order in your head. And everything that you put in this head is also there in purity and order.

You easily find a structure in everything, easily separate the common and the private, note differences, coincidences and repetitions, know how to break big things into small ones and understand how and from which components the whole is made up, arrange everything on the right shelves, do not confuse one with the other. Probably, this is a natural property of our mind, but someone knows that this is its strong point.

This quality can be manifested in project management, writing texts, construction, even organizing meals in the family. And this same quality helps a lot in writing large programs, where each unit of code must be responsible for one thing, not duplicate the functions of others, and logically fit into the overall structure.

Easy perfectionism

You like to do everything qualitatively — to reach the limit of perfection that is available to your understanding. And you sincerely worry if, according to your personal assessment, you are doing something badly.

At first, this may hinder learning and focus on the main thing rather than the details, but in the long run it will ensure growth, because the desire to do quality will drive the learning process and the practice of writing code.

In development, quality is directly affected by a number of critical metrics—productivity, readability, and overall team productivity.


If you have developed these qualities, then the chances of success are exactly above zero. I do not insist on anything. All of the above is the result of reflection on my own path, observations and conversations with dear brothers and sisters in the workshop.

Related posts