Nikolai Vasilenko and Quality Assurance Best Practices
What inspired you to pursue a QA Automation Engineering career, and which aspect of your work are you most passionate about?
I was a child when we got our first home computer, and this further ignited my passion for tech and future career choice. I was interested in all aspects of technology, always asking a lot of questions, and trying to understand how everything works.
One time my parents decided that I spent too much time in front of the screen and locked our PC with a password. This was a puzzle I decided to crack, so when they were at work, I started guessing it. After days of persistence I finally figured it out. The funny thing is that I guessed the wrong password, but thanks to bugs in the algorithm system, it somehow worked. I found my first ever bug which felt extremely rewarding.
I like to think that that’s how my interest in quality assurance and its automation started. I was always interested in finding mistakes in processes and programs, and making projects better. Also, I always liked writing code. QA automation gave me the opportunity to write code and test software simultaneously.
Name the five most important lessons you’ve learned throughout the years as a QA Engineer.
- High attention to detail. This is one of the most important things for any QA Engineer. Try to understand as many details as possible about the project you’ll be working on. This will help you do your job efficiently. Learn the documentation, inspect technologies that will be used, and try to dig into every important detail.
- User-centric approach. Imagine yourself as a user of your product. What do you want this product to look like? What functionality is the most essential? Which features would you want to have there? This will help to understand the details better.
- Constant communication with the team. The QA Engineer is the link between developers, designers, and product managers. We look at the project as a whole. If something can work better, we need to share this with all teams. We are interested in the product being of the highest quality, and that is why communication is essential.
- Self-development. Working on the same project for years is comfortable, but new frameworks and technologies will be passing you by. Your expertise will become outdated very quickly, so QA engineers should always strive for new challenges. It will help your day-to-day job as you will be adapting to changes pretty quickly.
- Ownership attitude. This goes in line with one of the core Transcenda values and is very relevant to me personally. One shouldn’t only do their testing job. A QA engineer needs to know what developers, designers, and product managers do. If you can see how the product can become a better one, you should take the initiative and tell the team about it.
How do you improve your technical skills?
I read articles and watch video courses on websites like Udemy, HackerRank or LeetCode that can help you train and improve your development and problem-solving skills. These are resources where you can solve algorithmic tasks of different complexity, practice coding, and check your skills, especially if you are preparing for an interview.
Which testing framework is your personal favorite and why?
Throughout my career, I had a chance to work with different technologies. Sometimes I had to write my own frameworks based on some unit-testing frameworks. I would say that is the most interesting and exciting part of my job. I am free to choose any technologies and approaches, and to use my vision of the most functional framework for this particular project.
Currently, I’m working with Appium. It provides a convenient way to automate both Android and iOS applications using one codebase.
What are the most common mistakes of new QAs?
New QAs usually are trying to resolve one task instead of trying to see the whole picture. You should scan each project with a wide-angle lens. Do not limit yourself to only one task. Seeing the project as a whole will help you to find better ways to solve the challenge ahead.
What do you see the future of QA looking like and what are some of the top trends?
It’s definitely automation. Manual QAs need to start writing code and basic scripts and eventually develop themselves more. As to QA Automation engineer programming skills, I would say that a QA automation engineer needs to know principles of programming, algorithms, data structures, etc. The syntax is secondary, you can always learn it after understanding the basics.
In my opinion, the leading programming language in QA automation at the moment is Python. I would also say that it is one of the easiest programming languages with a low entry threshold for newbies but, at the same time, it is one of the most actively evolving.
What are your hobbies and how did they shape you?
As I spend most of the time in front of my laptop, I feel the need to let loose in some extreme way.
My father and grandfather are military men, so as a child, I wanted to be like them and become a part of the airborne troops. My life turned out differently, but the dream of conquering the skies was still there.
I took an AFF course (an accelerated freefall) and became a skydiver that allowed me to make solo and group jumps with a freefall (up to 60 seconds of freefall time before opening your canopy if you jump from a height of 4+ kilometers). For now, I’ve done 36 jumps and my next plan is to get the type B international license, which starts at 50 jumps and offers more freedom compared to the beginner licenses.
My biggest dream is to try a skydiving wingsuit. For that I need to make at least 200+ jumps, so a lot of training is still ahead of me.
In parallel, I finished the skipper’s course and now I have technical and practical experience in sailing and motor-sailing vessels. This license gives me an opportunity to rent a yacht up to 24 meters long and sail with my team up to 20 miles offshore. It’s a pretty nice feeling when you are behind the steering wheel, feel the breeze on your face, and gaze at the horizon and endless sea 🙂