Send your request Join Sii

Automation is a frequently chosen career direction by QA professionals in the Polish IT industry. Probably in the first place, as motivations for such a decision, we can put the economic theme, followed by boredom with their current work and the desire to take on new challenges.

But is this the only way to go, and if so, how does one become a test automation engineer? If you are just such a person dealing with quality assurance in a project daily, but you are no longer satisfied with your work and are looking for new paths, then this text might be for you.

Differences between TAE and TDE

First, we would like to point out that all this text refers specifically to automation testers (Test Automation Engineers), not developers in testing. Importantly, we do not mean to discriminate against TDEs (Test Development Engineers), who are also very much needed in the industry as technical experts with programming skills.

So, who do we consider a TAE, and who is a TDE?

As we noted in the previous sentence, a test developer has a great background in the tools and technical skills needed to write good code but does not necessarily have extensive experience in quality assurance.

A TAE, on the other hand, as the name implies, is, first and foremost, a tester, someone whose primary focus is on quality assurance and quality control. Someone who can manually check a given aspect of the system under test, write good test cases for it and then automate them according to the project purpose and needs.

Both authors of this text have followed such a path, starting as manual testers, gradually becoming more and more fascinated by the technical side of testing, and delving into the world of programming.

Automation vs. other aspects of quality assurance

The second thing that needs to be clarified is automation itself. We do not believe it is the Holy Grail of testing that will solve all quality problems. It is a precise tool (actually a process) that serves specific purposes and will not work for every organization and project. We do not believe that automation can or should replace manual testing. Its purpose is only to assist experienced testers in quality assurance.

This brings us to the first point. If you want to get into automated testing because that is the only way you see the future, and you don’t think there are other ways in QA worth investing your time and effort in, we, as TAEs with years of experience, do not necessarily agree. In the QA and QC arsenal, automation is only one of the techniques and by no means the most important.

Exploratory testing, non-functional testing (not just performance and security), and business domain specializations are at least as necessary, so do not limit yourself to this one area when looking for career ideas.

Financial aspects and challenges to success

Another thing to consider is the financial aspect. Is being an automation tester profitable? Uniquely, in our opinion, the answer will not be “It depends.” Yes, it is. But.

Well, there is the “but.” The profits are certainly the money that comes into your bank account every month and a certain prestige (fortunately, this has changed over the years, but when we started, a manual tester was more likely to get a “monkey to click” patch than a professional involved in the project. Nowadays, automation specialists are more appreciated by programmers as people who already possess some secret knowledge).

But on the other hand, it is a path that has required, requires, and will require a lot of effort. Technologies change very fast; tools that are popular today are gone tomorrow. This makes it necessary not only to take the time at the beginning to enter this world but also later, day by day, to keep up with the dynamic changes. 

The changing technological landscape

For example, years ago, when we were just starting test automation, there was a lot of talk about artificial intelligence, but no one was thinking about it daily. Now, just a few years later, kids are doing their homework with chatbots daily, and testers and developers are not only willing but increasingly required to use tools from the AI family in their daily work. Not everywhere, of course.

It seems that this transformation is still underway, and we do not know exactly where it will take us, but it shows how our reality has changed in just a few years.

What are we getting at? Well, the point is that if you really want it, be prepared to make some sacrifices before the monthly transfer starts to put a smile on your face. Most likely an effort on your own time and with your own money. However, the latter is not a requirement. There is a lot of valuable and accessible knowledge on the Internet that the community is sharing for free.

Where to start?

Although this is perhaps where we should start this text, it is impossible to clearly define the path you should follow. You will not find a step-by-step recipe here because we do not think one exists.

Maybe automation will be a natural step in your projects, and you will enter this world smoothly. Or perhaps it will require you to take steps and be active outside of your daily job to finally make it happen (that was our case), and it will require you to take the time and be willing to learn the tools you want to work with.

First steps in automation

As for the tools themselves. Does language matter? Yes, it does, and no, it does not.

We both started with Python, and one of us has stuck with it to this day (with a brief love affair with Robotic Process Automation). The other went through Kotlin, JS, and Java, which he stuck with for a while longer. As you can see, we took different paths, learning and working with languages dedicated to other applications, but in both cases, we ended up in a similar place.

What can we say after a few years of comparing our experiences? On the one hand, specialization is good, and learning the nooks, crannies, and secrets of the language we work with can directly impact the quality, readability, and maintainability of the code we produce. As we learn its secrets, over time, we will be able to solve more and more complex problems faster and more elegantly.

On the other hand, there is nothing wrong with experimenting and finding your place. Knowing several languages will also teach us a lot; we will learn the differences between them, what they work better for, and what they work less well for, so it will be easier to choose the right tools for the task. We will also have a wider choice of projects to apply our skills.

Openness to new

We mustn’t be afraid to wander a bit and discover new things. Jumping from technology to technology every few days or weeks may not be the best idea, but being open to what is unknown cannot hurt, in our opinion. It is essential to treat all your experience as a set and be able to draw on it to solve the problems you face.

As mentioned earlier, we have gone through a cycle of mistakes and dead ends. Whether it’s the RPA above or performance testing, if we spend a few weeks or months learning a tool or technology, we may feel like it was time wasted when we later want to go in a different direction, but this is not quite the case.

We have both gone off and built the wrong solutions and learned things we did not want to work on later, but in the end, they taught us something as well. Those are our lessons. Your mistakes are valuable in your development if they have taught you or are teaching you. Again, do not be afraid to make them, but make sure you learn from them.

Choice of tools and programming languages

All right, but what about choosing a language to start with?

We will not recommend one because it is a very individual thing. See which of the popular ones (yes, popular, because learning Fortran or Cobol as a first language might not be the best idea) “fits” you. You might also consider if you have a programmer or automation friend who can help you get started. Then you will probably learn the language naturally from such a person.

It is also a good idea to find out what language is used to write automation or application code in the project you are working on because, again, this will give you access to people who already know something about the subject and may be willing to share it.

Now, for some specifics that we think are important, if you have already decided that automation is for you and have chosen a language to start with.

The importance of theory and practice

First, theory and practice go together. We should know the optimal and recommended methods for solving problems; there is no point in reinventing the wheel. In the same way, we should see how the tools we use work from the theoretical side and why we (almost) always do certain things in a certain way. 

Why. Here is a little quiz from us: Think for a moment if there are any activities or tasks that you always do in a certain way because someone showed you how to do them, and that is it. 

If the answer is “yes,” then it might be a good time to think, “But why? Are you sure this is the best way? Or was it once, but not anymore? Can I do it better, or does it make sense?” Of course, we realize that we often must do things that seem a little out of place or pointless because someone else made that decision.

But it is a bit like the joke:

What is the difference between a junior and a senior? Both are doing things wrong and not according to best practices, but the latter at least understands why.

In our experience, we recommend this as good practice so that even if we are not doing something the way it should, we at least know that it is not the way it should be done. This is the power of theoretical knowledge and best practices.

However, nothing can replace practical skills, which, as the name suggests, we acquire by practicing (really a lot, or even more), solving problems, completing tasks, and every single line of code we write that eventually works the way it should.

In our opinion, it is only the colloquially called “skills,” supported by the knowledge of how and why, that allows us to create complete, efficient, and valuable solutions that bring value to the business. That is all about ensuring our end users get a product that meets their expectations.

The value of the English

Second, we know it will be trivial anyway. English language. You need to know it on a communicative level to feel comfortable talking to others. And here is a little hint. Technical English is not the same as talking about your last vacation, which is very important for TAE. Take a moment to learn the technical vocabulary and use it freely.

Getting out of your comfort zone

Also, do not be afraid to step out of your comfort zone. Yes, we know this sounds like cheap coaching, so we will try to defend this thesis a bit.

In our opinion, it does not matter what you learn from or how you learn. Whether it is websites, courses, training, conferences, or your projects, the important thing is that you face real problems and learn to solve them. And when you succeed, take the next step and the next.

Suppose you are already working on a project. In that case, it will probably keep you entertained for the next few months, and if you are just learning and not working with automation daily, try writing tests for some real existing problem or issue.

Courses and training are, of course, nice for learning the basics and understanding the general idea, but they have the unfortunate part that they mostly give you a solution or at least tips in case you get stuck. In a real project, unfortunately, we do not always have such a “phone call to a friend,” so the sooner we start combining on our own, the easier it will be later. Also, by acting on our own, we begin to encounter real problems, and solving them gives us a lot of practical knowledge for the future.

How do we deal with cognitive errors?

Let us also talk for a moment about cognitive errors. According to the Dunning-Kruger effect, two traps are probably waiting for us.

  • First, after a few months in a project and the first successes, it is easy to think that we have the world at our feet, and nothing will surprise us anymore. Unfortunately, this is when we must realize that IT, quality assurance, and even automation itself is a vast and complicated subject, and there is still a long way to go.
  • This also leads us to the second cognitive error of underestimating ourselves when we already have some knowledge and skills. We should never forget that we do not have to know everything immediately (or at all). It is essential to keep learning, but we will eventually run into a project, problem, or tool that we cannot understand (easily or at all). This is perfectly normal, so remember that you do not have to know everything but should learn.

Joy, passion, motivation

Finally, not being so pessimistic is our golden and most important advice.

No matter what happens, make sure you enjoy what you are doing. If that is your motivation, spending your time and money on development will be easier because you will enjoy it.

At the beginning of our careers as TAEs, it happened to us that we forgot to leave work (or go to bed) while solving some project issues or sitting on private projects (no, workaholism is not good and work-life balance is important; we are not urging you to neglect other aspects of your life in favor of work). We agree that regardless of the technology or path, having fun and wanting to learn were the most important things that contributed to the fact that we have been doing automation for years and are good at it.

Knowledge sharing

Ok, great, but what if I have been working for a couple of years and I am not doing what I enjoy in a project, or I am not developing, but I cannot change it for various reasons (such as the economic crisis that has finally hit IT)? 

You might consider if there is something where you think you already have established knowledge that you can share with others outside your project, following the principle “if you want to understand something well, start teaching it to others.”

And how? Maybe you can become someone’s mentor? How about trying to speak at an event, meeting/meetup, or conference about the problems you faced or the solutions you created? You can also try helping to organize such an event. 

And if you do not have the time or inclination to listen to others, share experiences over coffee, or learn about the power of networking? In our opinion, this is evolving, and sharing experiences has played a very important role for us throughout our careers. We encourage you to do the same because the openness of this industry and the willingness to share knowledge is something we believe is worth cultivating.

 tl;dr

To sum up, or as they used to say in the industry, “TL; DR”:

  • Learn English,
  • Do not be afraid to experiment and look for “your technology.”
  • Get out of your comfort zone, keep evolving, and look for new challenges,
  • If you are willing and able share your knowledge with others,
  • And above all, always try to have fun with what you do.

Good luck!

***

And if you want to know what our other experts have written about their career paths, be sure to take a look at their stories.

5/5 ( votes: 8)
Rating:
5/5 ( votes: 8)
Authors
Avatar
Konrad Gomulski

Expert-level software tester. Test Automation Engineer at Sii Poland and Python enthusiast. Speaker, Trainer, Organizer, SJSI member. In his spare time, he is a fan of Polish mountains, fantasy, and ice skating

Avatar
Grzegorz Holak

ISTQB Certified Expert Level Tester. Tester who likes automation and technical considerations. Fan of Lego, mountains, German highways, and home automation with Home Assistant. Daily, he fights for better software quality at Sii Poland and tries to support QA within SJSI

Leave a comment

Your email address will not be published. Required fields are marked *

You might also like

More articles

Don't miss out

Subscribe to our blog and receive information about the latest posts.

Get an offer

If you have any questions or would like to learn more about our offer, feel free to contact us.

Send your request Send your request

Natalia Competency Center Director

Get an offer

Join Sii

Find the job that's right for you. Check out open positions and apply.

Apply Apply

Paweł Process Owner

Join Sii

SUBMIT

Ta treść jest dostępna tylko w jednej wersji językowej.
Nastąpi przekierowanie do strony głównej.

Czy chcesz opuścić tę stronę?