Interview Nikita Kalinin, Software Architect

 

OpenTag is a product company that creates a microservice online betting platform. In just over two years since its founding, OpenTag has grown to 160 people in Bulgaria and Ukraine and continues to grow. Our platform is used on numerous websites worldwide, and the company plans to significantly increase the number of customers and employees in the next few years.

Today we get to know Nikita Kalinin, Software Architect at OpenTag.

– Nikita, where did your IT career start?

I think my IT career started back in my childhood when I first saw computer games.
They impressed me so much that it was then that I decided to link my life with Computer Science. When I went to school, I did well in science – maths and physics.
At that time, I realised that the “stars came together.” In 8th grade, my parents sent me to programming classes at the Palace of Pioneers. Almost at the same time, the Programming Olympiads started at school, I was interested in it, and I decided to enter the Faculty of Software for Automated Systems. In my second year, I started working at the Computing Center at the university, where we wrote software for applicants, students, etc.
In the summer after the 4th year, I had PHP training, where I showed myself on the good side. After that I was offered my first full-time job. It was an American portal for various exciting articles. So it became my first experience with PHP.

– That’s cool. Why did you choose PHP?

Before starting with PHP I mainly worked on desktop applications. However, the web was evolving, and I found it interesting to try myself in it. I was graduating from university, and my first job had just found me. I did not choose specifically this language, it was simply a coincidence.

Back then, there was no division into backend or frontend, and everyone did everything.
So, I still needed to learn JavaScript, CSS, HTML, and client-server architecture.

– And the next question, when you came to OpenTag, you were a PHP architect but very quickly, you started working with Golang.
How do you like this switch? What are the advantages and disadvantages of comparing these two languages?

Before that, I worked not only with PHP but with Java, C, and node.js, and I also had a little experience with Golang. So I can’t say that learning a new language was new for me.
But in any language, there is something which fascinates me.

Usually, companies are rushing to make more and more new features. As a result, developers don’t always have time for things like learning a new language. In our company, we do it differently, which speaks greatly for Opentag.

I am grateful that the company gave me such an opportunity.

When comparing these two languages, it is clear that they are different. First of all, I would like to mention the scope. PHP is more suitable for complex tasks with complex business logic. This language is more flexible, which is both a plus and a minus. Due to flexibility, errors occur. Also, PHP is much slower than golang. Golang is much easier and faster and fits perfectly into the micro-service architecture. It is more convenient to solve minor problems.

– In your opinion, what does the process of transforming a developer into an architect look like? What is the difficulty? What qualities must a professional have to be a good architect? What advice can you give to a developer who has decided to develop in this direction? Maybe literature?

From a technical point of view, you need to go beyond your language or application. Think more about all computer science, not your specific niche. Compare the pros and cons of using a particular case of technology approach.

It would be best if you were not afraid to make mistakes because we all do them. Only those who do nothing can’t make a mistake.

You also need to have good soft skills. One of the architect’s tasks is to be the “glue” between people/teams/technologies. It does not always go smoothly. You need to be able to find an approach in each situation and sometimes stop and understand that with the current vector, find a solution, and maybe change something.

And, of course, do not forget about algorithms. As far as I know, many companies in California or other state-of-the-art development centres are now conducting interviews with the specifics of seeing how a person thinks.

They say we are all our application’s architects, developers, testers, etc.

Regarding literature, there are many good books. I recommend one of many – Fundamentals of Software Architecture by Mark Richards and Neal Ford.

If you like the interview with Nikita and want to work with other people who think like him, check out our open positions.