Interview with Senior QA and Team Lead and .Net developer

541-net.jpg

 

Today we had a very fruitful and nice talk with two Svitla’s guys from Sevastopol development center. Polina Gluhova is a Senior QA and Alexander Volkov is a Team Lead and .Net developer who both are now engaged into one of the biggest projects contracted by Svitla Systems. We tried to get some answers to the questions that may be interesting to many of our customers and IT guys.

Polina, Alex, why did you decide to start you career in IT?

Polina: After graduating from the University, I really wanted to work in my specialization. At first, I decided to try myself as a teacher of computer science. However, at the same time, I started going for course of QA testers in an IT company and I realized that testing was what I really always wanted to do and actually no teaching could compare to that for me.

Alex: I also studied to be a developer in the University in Sevastopol and even being a student, I began to work as a Junior .Net developer in one IT company.

So, Alex, you started programming in .Net from the very beginning of your carrier and never altered your programming language preferences, right?

A: Yes, yes. You see, .Net is very extensive technology. You can write either for Windows or for Web. As for me, I have written for web for several years already.

Alex, .Net has already existed for more than 10 years. Is it still up-to-date and compatible among other newer technologies?

A: .Net sets a firm position today. What is good is that Microsoft provides upgrading for their technologies each year. Moreover, C#, the language that we code on, and .Net library improve all the time to be up-to-date with new trends. Thus, I would not say that .Net loses ground. On the contrary, it is very popular both for Enterprise applications like one that we do now and for small apps. For example, stackoverflow.com so popular among developers is written in .Net.

What are the advantages and drawbacks of using .Net technologies?

A: As for advantages and disadvantages it is hard for me to tell objectively as I’ve worked with .Net for years and I really feel comfortable with it. It improves all the time: there appear a lot of new frameworks and libraries. And now it become much more easier to write web apps in .Net to integrate them with other languages. There is no problem at all.

For example, several years ago such technology as JSON was a new one and we had to put some efforts to support its integration with .Net. Now it is almost ready-made. Also there are a lot of JavaScript frameworks. For instance, JQuery is already almost built in .Net templates.

So, it is very comfortable to use .Net. However, I am sure that it does not applicable to everything. What we work on is a big enterprise web application that require years of development. If it is necessary to write a small site, probably, .Net is not the best solution. As I said, it sets a good position among other technologies for large development but, of course, it has competitors. However, in my opinion, .Net is a good choice for Enterprise applications.

Technologies evolve with great speed. What do you do to keep pace with them?

P: I get a lot of information from blogs and books. Now, at last, I started reading ISTQB Advanced. It is not a simple reading but I want to manage it and pass the exam. In addition, I have a hobby. I organized a small community of testers here in Sevastopol. We gather with other testers to discuss testing topics, news, share impressions, experience, links, and etc.

Is it a closed community or anyone can join it?

P: No, it is not closed. To join it you just need to contact me. We started last year from four people and then extended gradually. Now there are about 16 people in our community.

Alex, how do you upgrade your knowledge? Do you improve your professional level with help of some courses or special books?

A: The most disappointing what I tried to do was about online courses. I attended several course but got little profit from them. The biggest problem is to find the necessary level of course.

That is why my best practice and improvement of skills is the variety of projects. It is great when you have an opportunity to work on different projects with different technologies staying in the same Company. In case it is not possible to have a variety in one Company, you can try doing something after work. The participation in projects that require other technologies than you use in your Company, even if you spend not much time and soon forget about these projects, gives you the experience that is extremely valuable.

Of course, I also read books and blogs. Besides, as a team leader I have to get information about team management. I take a little bit here and a little bit there to make a perfect progress.

It happens that it is necessary to check or rewrite code after somebody. What common difficulties you bump into while working with somebody else code?

A: There are several problems here. First, is a so-called legacy code that was written several years ago using old approaches, language versions and libraries. If you continue writing after somebody, there are several administrative ways of simplifying the task. One way is to use a single Code Standard inside your company or team – everyone in the company write the same way and you know that if you will continue somebody’s code you will advertise to the Standard and write in the same manner. This is very helpful. Another way is to write after a person who has approximately the same level with you, otherwise it will be very difficult to get into the previous code and you will try to rewrite everything from the beginning. Somebody’s code may be a disappointment; however, you should not panic. Try to understand the previous author and you’ll cope with the code.

What are the main difficulties with customers you have experienced to deal with? Not exactly on the current project, but in general.

P: In general, you should try to understand the customer’s way of thinking. You should perceive a customer as an ordinary person, who is usually not very much technical, who can change their attitude or opinion. As a rule, the changes from customer affect our work, but you have to take it for granted. Sometime changes are very hard to do and the team may take this very negatively especially when to do some change you should reject of some part of your work. This may be frustrating and hard, but so it goes and you just need to come to terms with this situation. Sometimes a discussion with a customer can be very helpful in such cases as you may find a compromise or clarify the importance of such changes. As you see, this is all about a dialogue and communication!

Well said! Alex, do you have something to add?

A: Yes, Polina perfectly described the situation. Of course, what is easier for us is that we are isolated from our end customer as we have a Product Owner. I always worked in such teams where there was a Product Owner.

P: You are a lucky guy! (laughs)

A: Yeah. I can admit also that there are situations when you code, code, code and suddenly “bang!” and the work that you were doing becomes not needed any more. Well, the world changes fast and that’s why we use AGILE.
As Polina said, it is very important to synchronize with the customer to understand what they need – get maximum value at minimum time. Moreover, as far as you better understand the customer it becomes easier to communicate. You start suggesting some solutions and options that would be more appropriate for implementation and testing.

Could you please tell in general about your current project, what is not under NDA?

A: There are multiple gambling games in the Asian market, which are very popular among people and at the same time there multiple payment methods. The games providers are interested in integration with as much as possible payment systems so that the users who want to play could pay the way comfortable for them (PayPal, Web Money etc.). On the other side, the owners of the payment systems also have an interest in integration with games. Our team develops a platform that allows quickly and easily integrate new payment systems with games or new games with payment methods.

Can you share with me how your working day usually passes?

P: In our team, we try to follow SCRUM process. We start the day with preparing to a daily meeting, than we have a stand-up daily meeting itself after which we do our tasks. So, everything starts with synchronization among all members but, certainly, each day depends on different situations.

A: In my team, we have almost the same process. First, it is a daily stand-up, however we have it a little bit later in the morning because of time difference with a part of our team that is in Israel. And I agree that this is a point of synchronization after which everyone starts doing their tasks. Our team has a tradition of 5 o’clock tea when we gather to share some interesting news…

P: …and biscuits (laughs)

A: …this is an opportunity to have informal communication.

I know that you have visited customer recently in Israel. How did the visit pass? What was the most exciting about your trip?

P: Probably, the most impressive was just to see all these guys, meet personally people with whom we communicated only via Skype or email. They met us very friendly, so warmly that I had a feeling that I visited my close friends or family. We came back to Sevastopol feeling full, satisfied, and emotionally high.

A: Yeah, I have the same feelings! The most important is that we were able to talk in person. This greatly simplifies the further communication online. It makes it easier to call to these people to ask something.
In addition, it was very interesting to watch the working day of Israel team: their daily rituals, way of communication, and difference in culture. There is not a minute of silence in their open space. There is always some humming, talking or tuning. Their open space is much noisier than ours is. Nevertheless, they perfectly work in that atmosphere. Also it is interesting to experience that feeling when you do not understand what people are talking about with each other when use their native language instead of English – in such moments you can dive into the different culture.

Thank you very much for interesting and honest answers. I wish you good luck and interesting projects.