Skip to main content

Transition from QA Engineer to Developer

Bachelor in Software Engineering Software Developer, QA in the past

Background

I was studying Software Engineering as a major in one of the local universities when I applied for my first vacancy. Surprisingly, it wasn’t a Junior Developer position. It was a position of General QA Engineer. But now my position is Junior Software Developer for a couple of months. Why did I done it? Was it worth a try? What are pros and cons of such career start? How was the transition handled by the company? I’m going to answer these question from my personal experience.

Why I started as QA

transition-from-qa-engineer-to-developer

To begin with, I would like to give some details about reasons to apply for a QA position. One of the main reasons to do it was the way how studying in university was organised. Starting from the second course there wasn’t any concrete focus on anything. I had to study a lot of different fields of programming but only on a beginner level. For example, I had to switch from C# web development to Arduino, from JavaScript to Python, from C to Matlab all the time. Personally, I couldn’t even decide which language to prioritize because I was in a rush doing different assignments on various languages and in different programming spheres. In addition, I started questioning my coding skills because some tasks were challenging for me but my coursemates had no troubles with them. So I started to explore different IT positions and their responsibilities.

I ran into Quality Assurance randomly while surfing different IT resources and started to explore what people on this position actually do at work. Surprisingly, I found out that I like it. Except of theoretical QA things, this position requires understanding of how software works, being attentive to the details. Furthermore, basic programming skills are always an advantage. So I came to conclusion that it can be a good way to start my IT career as QA Engineer. I started thinking about applying for some vacancies but I needed to improve my testing skills. Unfortunately, with busy university routine (and being a little bit lazy, lol) it was difficult to find time for some extra studying so I put this idea aside.

I was checking disciplines for upcoming semester and BINGO! We were going to study Software Testing and Quality Assurance. So I made a decision that I will definitely try my luck in QA. It was pretty interesting to learn about testing processes, activities, documentation and many other things. Also I got experience in automation testing, for me it was really fun. As a result, I applied, was interviewed and got an offer from the product company.

QA experience

What I was doing as QA? Actually everything that QAs do. The working process in product was organised the following way:

  1. Development
  2. Pull request review
  3. Testing (Manual and Automation)
transition-from-qa-engineer-to-developer

Reasons for transition

Before I move on to the reasons, I want to give some more details about background. When I was working as QA, I was on the last course of university and was working on my diploma project. My diploma project is a SPA developed using ASP.NET Core, GraphQL, React and MobX (lol, yeah, I used MobX instead Redux). “Surprisingly”, almost the same stack of technologies is used in the product where I was working as QA.

Scroll to Continue

The main reason to move to the developer position was an offer from Senior and Team lead developers to do it. We had a several meetings where I was offered to try myself as a developer because I have all needed skills (spoiler: not all on the required level).

Another reason, in the depths of my mind, I started to question if the work that I do is actually maximum of my potential. To be honest, coding is actually more interesting, challenging and diverse comparing to the QA tasks, especially when you have been studying to code for almost 4 years. So I accepted this offer.

How the transition was organised?

As I mentioned above, I’ve had all the needed skills but not on the required level. We found it out during some kind of interview with developers from my team. So it was decided to organise something like “boot camp” with tasks that will help to improve my weak points.

What was this boot camp like? It was a backlog in AzureDevOps with various tasks that were focused on different technologies that are used in the product. I was solving them after work as a side course, I had an separate repository, after finishing work on task I was creating a pull request and my solution was reviewed by my mentors.

My impressions after passing this boot camp are very positive, I learned a lot and become more confident in my skills. Despite the fact that I was sometimes tired after work, I tried to pass boot camp as quickly as possible. While I was passing this minicourse, HRs were looking for QA to substitute me.

transition-from-qa-engineer-to-developer

Now I would like to share some advantages and disadvantages of such career.

Pros

  1. Better knowledge of product
    QA requires to know more about software under test than developer. This can benefit during implementing new features because it will allow you to develop unified solutions that will be consistent in the context of the product.
  2. More experience in testing process
    The theory of testing is actually useful for the developers in order to test their work better during the development and creating better unit tests.
  3. More details about internal dependencies of the product
    In order to find bugs it is important to know which parts of the product can be affected by changes. So usi

Cons

  1. Possible reset due to position change
    This issue actually depends on the organisation where you work. You should be ready to face negative salary review or skip planned salary raise because you will need to go from strong Junior or Pre-Middle to Junior position.
  2. Mindset rebuild
    QA and developer have really different mindset. You will need to go from “destroying” to “creating and fixing” and it will take some time.
  3. Period when you do everything
    While moving from one position to another you will likely face the period when you are not fully developer and not fully QA because you will have some testing tasks to complete and will probably start some developing tasks. Maybe it won’t be a case for you but I had such issue.

Was it worth it?

For now I think I am on the right place. I enjoy what I do at work and get more satisfaction from results of my work as I used to when I was QA.

Conclusion

To conclude, in my opinion, such career start can have a place. But if you are really confident in your skills and your main goal is to become a developer it would be a waste of time to start as QA. As for me, QA was a really attractive position as I could start career in IT earlier and I actually liked this position. Do I regret it? Absolutely, no. Such career gave me a lot of useful experience. Should you do the same? I think it depends. If you want to change your non-IT job to IT, QA is a perfect option and it requires less skills than developer position. If you have programming background but your interviews for developer position isn’t successful, I think that you can try QA.

Related Articles