15 years at Exadel. An interview with Mikhail Vitenkov, Lead Software Engineer

15 years at Exadel. An interview with Mikhail Vitenkov, Lead Software Engineer

Exadel


What was the starting point of your career 15 years ago?

My professional path at Exadel was neither straightforward nor too easy. I started from the position of AQA. Initially, I was going to apply for a programmer position, but eventually was offered a vacancy as an automation tester and accepted the position. For the first project, we wrote scripts in Visual Basic and were engaged in automation. I liked it and got involved quickly. But as soon as there appeared a need to test manually, I became convinced that it was not really my cup of tea. Over time, I mastered Selenium and began working on a very cool project - RichFaces. There were great developers working on this who I learned a lot from. Working as a tester, I performed not typical tasks such as writing test cases according to business requirements, checking the display of report pages, etc., but we wrote test applications ourselves. And although a tech. stack sounds a little out-of-date now, at that time it was cutting edge stuff: JSF, Seam JBoss. All this was tested on different servers, including WebLogic, which is rare now. We combined these RichFaces components on test pages with other interaction components such as MyFaces, ICEfaces. After such an experience, I realized that testing is too “tight” for me. After 2-3 years of work as an AQA Engineer, I resolved on moving to programming.


How did you manage to change direction

In testing, I grew to a Senior position. I had a clear understanding that if I wanted to become a programmer, I needed to start from scratch. But, the great merit of Exadel is that the management is very flexible and let me progress without starting from scratch and doing everything all over again. What I mean is, they left me my “senior” salary with only one condition ‒ I prepare a course on Selenium. Everyone got merit. The company helped me fulfill my initial desire to work as a programmer, while I didn’t feel the stress of the transition and didn’t lose my salary. At the same time, I helped the company transfer knowledge to young specialists. A new page of my career began here. I learned largely on my own. I studied the books that helped prepare me for Java certification ‒ Sun Certified Programmer for Java. And they were really helpful. A thorough study of such literature already takes you to Junior level.


How have you managed to work at one place for so long?

It goes without saying that if you have been working for 15 years on one project you can go mad. The secret is that every 2-3 years you need to change the project, and if the company gives such an opportunity, then there is no point in leaving. After all, each new project means new technologies and frameworks. During these 15 years, I managed to work on 6 projects in areas from medicine and healthcare,to sports and insurance. I tried my hand at being a manager, too. It is worth noting that the company is loyal to employees, and salaries regularly reviewed. 


What is important to you when choosing a project?

Obviously, an interesting technology stack, microservice architecture, modern Java, a role in the project, and the guys in the team. Now my position is Performance Engineer. The project I'm currently working on is an automated payment system for subscriptions in fitness centers. My task is to ensure that the system, which processes 22 million subscriptions per year and generates a million payments per day, does not break, is fault-tolerant and reliable. We manage the system's memory consumption, the work of garbage collector, we make sure that deadlocks do not occur, we optimize requests so that they process faster. We are trying to introduce best code practices for developers on the project in order to maintain normal system performance. Plus, I really appreciate independence in decision-making, the ability to influence product development, communicate with customers, and learn from foreign colleagues. Exadel gives it all.


What are your professional plans?

There are two ways of development: technical and managerial.  Despite the fact that I have experience as a manager, I like doing technical things more. Now we have about twenty microservices on the project, all the time we need to communicate with different teams, so I won’t be able to dive into programming completely. As for a technical path, the next position after mine is an architect, but this position requires very deep knowledge and a high level of responsibility.


What are the main achievements at Exadel you are proud of?

I’ve managed to grow from a Junior AQA to Lead Developer. I’ve upgraded my soft skills and try to give my colleagues maximum freedom. I believe that I have developed a more subtle approach to communicating with everyone, regardless of position. I’ve realized that it’s necessary to prepare for any conversation, and before you ask a question, you need to work out the entire context in advance and come to a person with constructive suggestions. Speaking of technologies, I have mastered everything related to the Spring Framework: Spring Data, Spring Batch, IntegrationFlow; microservices, and am well pumped in working with databases, with Amazon services: AWS, Amazon S3 and integration. I am very glad that in my professional life there have been trips to conferences, for example, Joker (a technical Java conference for experienced Senior/Regular developers and team leaders), Sun Tech Days, and two long business trips to California and Colorado. I took a security training course where we studied various vulnerabilities, cross-site scripting, SQL injections. And it was all paid for by the company. It's nice that Exadel is investing in and encouraging the sharing of knowledge.


Report Page