Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

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.

share|improve this question
1  
Keep in mind that this fellow is a high school student. –  user246 Aug 15 '12 at 16:41
    
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. –  Steve Miskiewicz Aug 19 '12 at 2:04
add comment

9 Answers

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.

share|improve this answer
1  
I've voted this up but also feel the need to give this a +100 as well :) –  Phil Kirkham Aug 15 '12 at 17:04
add comment

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.

share|improve this answer
1  
My related comments that I expressed back in May: allthingsquality.com/2012/05/… –  Joe Strazzere Aug 15 '12 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 '12 at 16:18
add comment

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.

share|improve this answer
add comment

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

share|improve this answer
add comment

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.

share|improve this answer
add comment

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!

share|improve this answer
add comment

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)

share|improve this answer
2  
Some would argue with your theory that going from coding to testing is a step "backwards". –  Joe Strazzere Aug 23 '12 at 1:27
    
Sorry, I didn't mean "backwards", but "back". No offense intented. –  Borja Bolilla Aug 31 '12 at 19:14
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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