Today a lot of people dream of finding a job in IT, because of the industry's relatively high salaries, as well as the consistent demand for IT specialists in the labor market. Most often, these dreams shatter when they run up against the need for specialized education that the dreamer has neither the time nor money to obtain. But there are several specialties that provide a "back door" into the IT industry, allowing you to essentially bypass preliminary training and the need to gain prior experience. As it happens, QA is one such specialty on the "edge" of IT. What is a QA engineer and how do you become one? - 1

What is a QA engineer and what does he or she do?

The work of a quality assurance engineer is less about assuring quality (although this is implied by the job title) than about monitoring the correctness of the implementation of all stages of development and the correctness of the operation of the final product. It sounds a bit like what a tester does. But a tester is only checks the operation of the application and either accepts or rejects it based on the test results (the presence of bugs and errors). A QA engineer also monitors compliance with standards in software development and interacts with developers, designers, and customers, preventing the very appearance of bugs and errors in the software. It's true that the positions of tester and QA engineer are very often perceived to be one and the same.

If we break it down point by point, then a QA engineer's job description includes the following tasks:

  • specify detailed requirements for the program (done together with the customer)
  • analyze and calculate of the time required to create the application or fix a bug (this task, of course, is not for junior QA engineers, but someone with an impartial perspective, a QA professional gives the most realistic time estimates)
  • develop test scripts
  • perform the testing process itself
  • log discovered bugs in the bug tracking system
  • discuss fixes with everybody involved in development
  • track the bug-fixing process
  • repeated testing of problematic areas
  • analyze test results
  • debug test scripts
  • analyze the processes used by the development team
  • optimize development processes to prevent the re-occurrence of detected errors (if errors are happening due to inconsistent actions taken by different departments or because someone isn't following established development standards, then it is the QA engineer's job to point out where the problem is happening and work to eliminate it);
  • maintain test documentation
At first glance, this is quite a lot to be responsible for. But in practice, some of these responsibilities are assigned to testers, quality control employees, developers, business analysts, and technical writers. So at different companies, a QA engineer's responsibilities will be slightly different: at one company, there will be more work related to planning development and bug fixing, somewhere else there will be greater emphasis on tests and bug tracking, and elsewhere QA engineers will actually be involved in making fixes. What is a QA engineer and how do you become one? - 2Accordingly, in each case, your work day will look different. In general, a QA engineer begins the day by working on tests and monitoring development progress in a tracking system. Over the course of the day, he or she communicates with developers (clarifying how development is progressing and what problems are slowing progress) and the customer (clarifying the requirements for the functionality currently being developed). At the end of the day, all changes are added to the test documentation.

Pros and cons of the profession

What about QA work is alluring besides the salary? One of the most pleasant aspects is the awareness that you are helping to create and improve the product. It's is an indescribable feeling when your daily routines give rise to a product that includes some of your work and ideas. Another advantage of QA work is the chance to become closely acquainted with new technologies. If you want to switch to a different specialty in IT, then a QA position is the best place to become better acquainted with your future work. QA work has just one shortcoming — the boring and monotonous duties of manual testing and updating test documentation. That said, they are wearisome only at first. With an expanded set of responsibilities, everything becomes more interesting and varied.

How to become a QA engineer?

To step onto the path of the QA engineer, you don't actually need to know programming languages or how databases are structured. The important thing is to have an idea of how the software development process is organized and to understand the testing process. You need to do some reading and practice on your own (use a PC to try to find all the defects and bugs in applications/websites). To build your confidence, you can take a couple of online training courses and/or sign up for an internship at learning centers (unfortunately, they don't teach this specialty at institutions of higher education). If English isn't your mother tongue, then boost your English language skills: when hiring, IT companies prefer candidates with a knowledge of English. What is a QA engineer and how do you become one? - 4In any event, a novice QA engineer will above all be tested on his or her knowledge of the software testing process: what it is for, what types of testing are there, what is a bug, how is a bug documented, and what steps are necessary to close a bug. At first, tests will be your destiny. But after you get comfortable with this work and learn a little more about how the software development process is organized at your company, you will advance to a higher level and get your own responsibilities related to the product being developed. The level of expertise required to enter the QA field is significantly lower than what is required to become a programmer. As a result, the competition for a QA engineer job opening can be very, very, VERY intense. As a result, to have a successful interview, in addition to knowledge, you also need to have a certain set of personal qualities. For example, for a QA engineer, the ability to communicate well is important: this position requires you to interact with almost everybody involved in development — everyone from the customer to the tester. Moreover, you must be able to convey all of the nuances related to the application's requirements to all concerned parties. No less important are attention to detail, patience, and diligence — these attributes are essential when testing programs. And of course, successful testing requires the passion of a wine connoisseur and the inquisitiveness of a child investigating how a watch or his or her favorite toy works, so that searching for bugs does not become an oppressive grind for you. BTW, if you have a couple of stories about successfully finding bugs, that can be a big plus in the eyes of the interviewer. You also need analytical skills to identify ways to improve the development process and the application itself.

Prospects

As one of the relatively easy ways to enter IT, QA offers quite a few options for advancement. You can stay in this specialty and climb the ladder: junior QA engineer, mid-level QA engineer, senior QA engineer, QA team lead, QA manager, QA department head. If you are more inclined towards programming, but are not ready to join the ranks of programmers, then you can switch to become a QA automation engineer. Then you can try your hand at test automation. If you view QA only as a springboard for a career in another specialty, then with additional training you can become a programmer, business analyst or project manager. New fields open up additional opportunities for professional growth, but the level of responsibility in them is also completely different.