Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been working as a software QA analyst for 6 years. I will be finishing a Masters degree in computer science this year. I’m just not sure how to advance my career after my graduation.

I like programming, solving puzzles, but in the meantime, I don’t dislike software testing that much. Actually, sometimes it’s fun to find a bug and to be able to track it down to its root cause. I’m quite good at what I’m doing. Usually, I find 2 or 3 times as many defects as other tests can find in our team.

However, sometimes, it’s a bit boring to test the same application over and over again, repetitive and monotonous. Although I did some automation tests in the past which are more interesting, still, the majority of the bugs are found manually.

I think I have 2 options here, either continue doing software testing, but doing more automation tests which involve coding and scripting. To do this, I think I have to find a place where most tests are carried out using automated tools, like in Google (from their tester job description). Option 2 is to opt to the dev side to do full time programming which I always like. The downside of option 2 is I have to start from scratch as most of my past experience is in testing side.

Anyone have any similar experience or advice?

share|improve this question
    
Nothing wrong with a DEV coming from a QA background, especially within a company where you already have gained the product knowledge from another (QA) background.I find DEV work much more awarding than QA, I have done both. –  Vinnyq12 Jun 4 '11 at 2:35
    
Thanks Vinnyq12. Yes, that's something I'm thinking about. There is a .Net team in our company and I'm quite interested in the .Net framework. Would like to have a try after finishing my uni. –  Allen Jun 4 '11 at 7:49
add comment

migrated from stackoverflow.com Jun 4 '11 at 2:36

This question came from our site for professional and enthusiast programmers.

5 Answers

up vote 2 down vote accepted

I work as an SDET for a small company, after gaining experience in testing at Microsoft. I have a BS in computer science, and spend about 50% of my time developing test tools and about 50% testing production code with them. I love what I do because it makes my developer side happy, but I stand out to employers as a very skilled tester.

There is a huge demand for developers who can test and write test automation. With your background, you should be able to jump in as a developer in test without taking a drop in level. Microsoft, Amazon, Google, and many small Agile companies are looking for developers who can test. I wouldn't be surprised if you can easily land a job at any of these companies as a test developer, with your experience and credentials.

If you find after a while that you want to work as an SDE and not an SDET, you could then use your test tool projects to demonstrate your coding ability. You should then be able to make a parallel move into development and avoid entry-level dev work altogether. As an SDET with six years of QA experience, you should be able to work with senior devs enough as an SDET to greatly enhance your real-world development skills by learning from them. Just flatter them a little and get them talking about their design decisions; senior devs love testers who can code enough to appreciate their elegant and maintainable designs.

share|improve this answer
    
Thank you Ethel, your experience is quite encouraging to me so I mark it as an answer. I think your advice maybe the best option for me at the moment. My long term goal is to work for a large company, like Google, Amazon etc as a SDET. I plan to spend some time doing some prep because I heard companies like Google, they only hire testers who have proficient coding skills and sound understanding in algorithms. In the mean time, I will spend more time in automation test at my current position. Cheers. /Allen –  Allen Jun 9 '11 at 12:07
add comment

I know of some QA eng who have transitioned to Product Management roles. Write functional specs etc.

share|improve this answer
    
Hi RationalSpring, that's another possible path for testers to take - the BA role. Personally, I still prefer to do some more technical stuff, like coding, instead of writing specs and negotiating with clients. Thanks for your advice anyway. –  Allen Jun 4 '11 at 7:53
add comment

Does your company hire entry level developers? If so, you can apply to one of those positions. Current knowledge of the system is a good plus to have on your side, especially if the project is big.

share|improve this answer
    
Hi Jon, that's one of my concerns. Opting to the dev side means I'm a newbie while I'm currently in a senior role in test. This may also have an impact on income I reckon. Probably that's the price to pay. It's like driving a car on a highway for quite a while then realize you may be heading to the wrong direction. It's possible to find an exit but you will be way behind others... –  Allen Jun 4 '11 at 7:59
add comment

Six years in one role can bring you to a crossroads as you are looking for new ways to challenge yourself and you start asking can I do more. So I think it is quite natural that you find yourself at this crossroad.

Anytime I find myself staring at two options I stop and think what is the 3rd path. The reason I do this is to force myself to think outside of my existing paradigm. Limiting oneself to two choices is called a "Suckers Choice". Here is an interesting write-up on the situation: http://sourcesofinsight.com/2007/12/28/refuse-the-suckers-choice-4/

For example have you considered going towards a business analyst type role. Having worked in the QA side for so long gives you some solid skills and background to connect with the end users. This type of though pattern is often missing with people that do pure development.

If you really have an itch to program then I would encourage you to start looking at tools to automate the testing you are doing now. Some of the most challenging problems I have solved have come from finding ways to automate testing. For example I was working with load testing scenarios and had to come up with a way to extend the Visual Studio web tests so the load tests could be made random.

I would also encourage you to get involved in an open source development team. There are lots of projects out there, it just takes a little time and patience to find one that feels like a natural fit.

Good Luck

share|improve this answer
    
Hi Jeff, maybe you are right. I need to think out of the box instead of confining myself to 2 options I can think of. Doing automation tests may be a better option for me at the moment. I can still utilize my testing skills while doing some coding which I like. Thanks for your advice. /Allen –  Allen Jun 4 '11 at 8:08
add comment

My suggestion would be to start by focusing on Automated Testing first. Once you gain experience building and maintaining the infrastructure for this and then building up the repository of automated tests, you will have a very credible programming reputation. You won't be an "expert on the production code" but you will have enough code behind you to give a programming team confidence in your raw abilities. If you wanted to move to the pure developer role, you wouldn't be coming in at "ground zero" at that point.

I've managed a few people like this. After a good year or two in test automation, it is very easy to integrate them into the team.

hth, and good luck!

share|improve this answer
    
Thank you Al, your advice is much appreciated. /Allen –  Allen Jun 9 '11 at 12:08
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.