14

I've been testing Ubuntu daily builds for QA since last month. I wasn't too confident in learning development yet, because I didn't feel familiar with encountering a bunch of code. But I want to write code and develop software one day.

So far, I see QA work as active testing, communication via mailing lists, and reporting bugs.

In what ways is quality assurance testing a first step into development?

Thanks for your time.

3
  • 1
    Keep in mind that this fellow is a high school student.
    – user246
    Aug 15, 2012 at 16:41
  • 2
    Your career is what you make it. I've seen testers transition into many different roles - Scrummaster, BSA, PO, Developer, etc. Being a great tester doesn't make you great at a different role, that's the persons choice (which includes staying an awesome tester). I personally would not take a testing job unless I wanted to be a tester, it isn't a stepping stone. Aug 19, 2012 at 2:04
  • Software testing using automation IS software development. Many companies fail to understand this and set up 2nd class citizen situations for their QA folks. Unsurprisingly, in these situations many tests are written but quality does not improve. You can't easily improve quality by testing after the product is already made Jul 25, 2023 at 11:45

13 Answers 13

23

I am a self-taught programmer with 14 years in QA experience (most of it as a Software Developer in Test). My experience in QA helped increase my understanding of design, many different core/fundamental technologies (html, http, tcp, msaa, etc) and exercised my analytical and critical thinking skills, all of which helped prepare me to become a developer.

Once I began writing code (starting with some simple tools, web sites/services and automation) there was a lot more to learn. My QA experience was nice to have, but it was for the most part only indirectly beneficial to my ability to learn to write code well. Being successful in QA does not necessarily correlate to being successful in development, I have seen great testers forced into development roles that did not enjoy it and were not as good at it. I have also seen great testers turn into great developers and even some not so great testers turn into great developers.

I have chosen to stay in a QA role (Software Development Engineer in Test). I spend the vast majority of my time performing development tasks (spec'ing, mocking up, writing code, unit testing, etc). Many large companies (Microsoft, Google, etc) only hire QA resources that can write code. My pay is on par with what a developer gets paid. I enjoy the breadth of projects and the variety of things I get to work on in this role. Often a developer will get a lot of depth in one specialty.

My point is that writing code is great, you have the option of staying in a QA role or not and still writing code. You can also move into a development role or work on your own projects, do what makes you happy. Just keep in mind that the road to becoming a great developer is a long one. There is a huge difference between learning the basics of a programming language and learning all the ins and outs of a programming language and writing maintainable, performant, secure code using appropriate algorithms and design patterns. By the end of your career 30 years from now, you'll still be learning new things.

1
  • 1
    I've voted this up but also feel the need to give this a +100 as well :) Aug 15, 2012 at 17:04
12

Where I have worked, testing is not a first step into development.

In fact, when I'm interviewing candidates, I probe to see if that's how they view QA/testing. If they think it's a step into development, I usually don't hire them.

2
  • 1
    My related comments that I expressed back in May: allthingsquality.com/2012/05/… Aug 15, 2012 at 16:02
  • I tend to agree with your views, but I think I differ on this one. I myself am a self-taught programmer with a purely QA background. The automation and tools that I have been able to provide since day one of writing my first line of code have consistently added value to the teams I was working on. I think the big differences is I see a Developer in QA role as a viable career path as an alternative to a pure "developer" role. What I have found is that if a QA resource who wants to write code is allowed to write code, they provide value, are happy and don't feel the need to move to dev.
    – Sam Woods
    Aug 15, 2012 at 16:18
4

There is nothing wrong with having a plan for your career that involves more than one kind of job. However, even if you want to be a developer, you need to take your QA job seriously. As soon as you do a half-hearted job on a test plan because writing test plans does not help you become a developer, you reach a fork in the road: either you convince someone soon to hire you as a developer, or you risk getting fired from your QA job.

There are many overlaps between QA and development. For example, both jobs are well-served by someone who can communicate clearly in person and in writing, work productively with people who they don't always agree with, learn every aspect of how to use a non-trivial piece of software, learn how software is put together, and trouble-shoot technical problems that may have multiple failure points. If you demonstrate those skills in QA, it will be easier for you to move to development.

Of course there is some middle ground between QA and development, i.e. test automation. A tester who can also write automated tests is a valuable tester. On the other hand, a tester who refuses to do anything but write automated tests will have a harder time finding (and keeping) a job.

3

When talking with new college grads (freshers), about starting their career, I give two examples where starting in testing may be a good idea:

  • The best developers that I know are awesome at testing their own code. I asked one senior developer why he spends so much effort to get to 100% coverage on his unit tests. He replied that he wants to be "the man", not "that guy". Starting your career in testing is a great way to learn test methodology that you can then apply later in your career as a developer.
  • Another reason why starting a career in testing is wise, you typically see the whole system, or at least a broader view of the functionality, than if your entry was in development. Your role of testing daily builds of Ubuntu probably has you interacting with many parts of the OS. If you had started as a developer, you may be focused only on a narrow part (for example, printer drivers). Starting in testing gives you a broader view of the product, usually.

Lastly, one of the most intellectually stimulating activities that I see is figuring out how to write software that tests software (instead of manual testing). I'd recommend you start learning to program by writing programs to make your testing more effective. You may just find what you are looking for right in front of you.

Good luck!

2

Firms hiring devs are going to ask you coding and algorithmic questions, they might also want to check out your github profile to see examples of your code. They are not going to ask about your QA experience

2

Experience in testing may help you in programming better, but will not replace programming experience. Hence, as others stated, getting a job as a developer will require experience in development. Similarly, in many companies and projects, getting a job as a tester will require experience in testing.

It appears to me from your question, that you see testing as a simpler job than development. Well, that depends on a company, a project, and a team: what skills they require from a tester. For instance, my programmings experience helps me understand the code and system architecture, automate tests, debug system under test (bug isolation), etc. If you browse through this site you will find more about developers with large programming experience moving from development to QA. Follow the links posted there and you will see how much developing and testing is interrelated. In the end, both are crucial parts of software engineering.

1

Let me address this question step by step:

  • To be good at testing (at least your own code) is really important to be good at coding
  • To be good at something it is very useful to be doing "just that thing" for some time
  • It is hard to take an step "backwards" in a carreer. This means working in A, later in B and later in A again is a little bit "strange" in a carreer. This means being at coding; later testing and later coding again looks rare. If you are coding and you like to, it is likely you are not going to try other thing

Given all these, I think it is better/easier to have experience as a tester before having experience as a coder than going the other way (if you want to finish as a coder)

2
  • 2
    Some would argue with your theory that going from coding to testing is a step "backwards". Aug 23, 2012 at 1:27
  • Sorry, I didn't mean "backwards", but "back". No offense intented. Aug 31, 2012 at 19:14
1

TESTING IS THE FIRST STEP TOWARDS SOFTWARE QUALITY.

QA person has a different goal than the developer, "the developer wants to make it work, the QA person wants to make it break".

Since they should be working closely with developers and learning dev languages/tools, a developer path is possible.Once you learn how to write software, your testing skills would greatly assist you in writing better, more reliable software, since you have been on both sides of the fence.

1

I think in the past, QA was equated with testing, and specifically manual testing. Now, thankfully, the trend is towards automating as much testing as possible. This automation requires programming skill and often more creativity in the application of various tools. QA is also more recently involved in the whole life cycle of software including use of static scanning and analysis tools, metrics, etc.

So, the short answer is I think that was true in the past, but I don't think it is true any more.

1

I've done the reverse.

I WAS a developer. For 20 years.

THEN i moved into QA and wow am I having fun!

But to your question:

Yes, much as folks in my QA/QE (Quality Engineering) displicpline, including myself don't want to admit it, QA/QE can be a route to development.

But as I've shown in my initial answer, the reverse can also be true! Development can be a great route to Quality Engineering. I covered QE 'for a month' 5 years ago and I've never looked back. Today I'm a QE automation developer (among many QE hats) and my developer background is sooo helpful.

Also a note on good ole $$$ ok in the past QA meant manual tester and half the salary of a dev. More recently highly skilled QE developers who can write good automation can make more then well paid devs. Something to consider!

0

I started as a manual QA tester in a company and I barely knew what test cases meant, I only execute it whenever we have to test a certain app. Then I moved to becoming a QA that does both test cases and testing. Long story short, I am now an automation tester (I still haven't given up manual testing yet as this is still vital and needed so I do both) and currently building our own testing framework using c# and selenium. One thing I realized about this big shift is this: "Development is really challenging and enjoyable, which felt like putting all the pieces of puzzle together, but QA is also challenging and enjoyable because I also like to break the puzzles and build in another perspective." I guess if you want to end up as a developer, start as a QA so you would have a broader understanding of how things work in a high level and then if you'd like to test your 'coding' skills then start automation and see if you really want to be a developer.

0

Its akin to saying that working in the sewer is a good start to becoming a chef. Software companies have a greater need for QA engineers than development engineers, by definition. Software is developed fairly quickly, but takes a great deal of testing before it is correct. In the way old days, programmers did their own testing. Having organized testing departments is a major advance in the way software is developed. That's a good thing.

Unfortunately, software QA has got a reputation for being a first year out of college job, mainly involving scripting. Testers are more like users who can script than developers who can test. Its considered entry level work. It also tends to be difficult to advance from, since there is demand for test work, and having it on your resume is considered a mark of junior programming.

The best way to advance from test work is to remove it from your resume, or enhance the few bits of development work you have done and remove the test work. Get away from QA rapidly and do not mention it again or you will be put back into the role.

0

I think you are mistaken. Software testing is a profession not a stepping stone, just like developer is also a profession. They are complementary fields, just like Civil Engineering and Architecture. In fact, it is easier for you to become a developer if you already have experience as a quality analyst than if you have no experience in technology. Just as it is easier to be a civil engineer if you have already had contact with complementary areas such as architecture.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.