How does one get a QA job?

This is a discussion on How does one get a QA job? within the General Discussions forums, part of the Community Boards category; a student adviser told me that it might be difficult for me to find a programming position given that I ...

How does one get a QA job?

a student adviser told me that it might be difficult for me to find a programming position given that I lack relevant experience and suggested that I apply for other jobs, such as QA, then go from there.

I applied to some QA jobs and went to interviews just to learn that I know nothing about unit testing, functional tests, and a bunch of other QA technologies and methodologies.

That said, where do I acquire that knowledge?

Is it matter of spending a weekend reading up on that stuff, or signing up for a QA course at a community college, assuming that those courses exist?

Please take into account that I haven't applied for a job in about 15 years and in my part of the world things may be very different:

The proper way to get programming experience is to be a programmer. And to get hired as an entry level programmer you need some kind of degree. That's it. That's how you get to be a programmer around here. Other experience will most likely not help. If you cannot find a job I'd suggest looking into the details of your application and geographical situation. Are there jobs in your area? If there are no jobs, QA will not help you. If there are, why aren't you chosen from a job interview? Maybe you are applying to the wrong jobs?

Maybe in your area QA is what I would call an entry level programmer job. Around here where I live, it's not. It's a different job. Holding a different job will be helpful if you want to score a job in a very specific field or with a very specific company. If you absolutely want to be employed by Company X, then getting any job with that company will likely be helpful. It's easier to switch jobs inhouse then coming from the outside. But if you would like to get just any programmer job, from my point of view another job as QA will only hinder you.

As I said, that goes for my part of the world. If you don't eat Currywurst and Sauerkraut (not at the same time though), it may be totally different.

I think nv has some really good points. I'd add that if you're a student right now, you should really be looking for internships in software; this makes a really big difference, above just having a degree. Someone who's gone through a few internships has been proven able to learn/pick up new skills/work on a longer-term project with likely vague requirements/write lots of code successfully. Alternatively, making some great side projects can substitute for an internship if that's not an option; it will show initiative, technical skill (assuming you do a good job...) and gives you something real to talk about. When I screen resumes from recent graduates, those are the kinds of things I'm looking for.

I do know a few folks who have moved into development from QA--including the former chief architect of the startup I worked for, and another QA engineer who's currently transitioning from manual QA to automation and some product development. But I don't think this is the most efficient route unless you're super-committed to it and willing to spend a lot of time going beyond your job and really taking the time to learn from your coworkers and on your own time. The main advantage of QA is that it gets you involved in the software development process, which means you can learn some of the non-technical aspects of being a developer, but if you want to be a developer, you're likely to dislike manual QA; as nv said, they're very much different things. And you'd almost certainly need to find a company where such a transition could take place; going from one QA job at one company, to a dev job at another, will probably be a lot more difficult. (Among other things, people will read your resume and ask, "did y99q apply for the right job opening? I only see QA work.")

I think nv has some really good points. I'd add that if you're a student right now, you should really be looking for internships in software; this makes a really big difference, above just having a degree. Someone who's gone through a few internships has been proven able to learn/pick up new skills/work on a longer-term project with likely vague requirements/write lots of code successfully. Alternatively, making some great side projects can substitute for an internship if that's not an option; it will show initiative, technical skill (assuming you do a good job...) and gives you something real to talk about. When I screen resumes from recent graduates, those are the kinds of things I'm looking for.

I do know a few folks who have moved into development from QA--including the former chief architect of the startup I worked for, and another QA engineer who's currently transitioning from manual QA to automation and some product development. But I don't think this is the most efficient route unless you're super-committed to it and willing to spend a lot of time going beyond your job and really taking the time to learn from your coworkers and on your own time. The main advantage of QA is that it gets you involved in the software development process, which means you can learn some of the non-technical aspects of being a developer, but if you want to be a developer, you're likely to dislike manual QA; as nv said, they're very much different things. And you'd almost certainly need to find a company where such a transition could take place; going from one QA job at one company, to a dev job at another, will probably be a lot more difficult. (Among other things, people will read your resume and ask, "did y99q apply for the right job opening? I only see QA work.")

I'm almost 30. FInished undegrad some years ago and worked in a low-level programming position for almost 4 years. Then lost my job and my experience is pretty much useless since I was using proprietary technology (down to the programming language itself). Then I enrolled in a .NET course and I've been doing that and applying for entry level jobs and it just appears like I'm wasting my time.

if my best bet was help desk then both my professional experience is in fact worthless as well as the .NET course.

Then lost my job and my experience is pretty much useless since I was using proprietary technology (down to the programming language itself). Then I enrolled in a .NET course...

Do you ever feel like you're digging yourself a hole?

I know that in terms of "professional" development you're going to have a hard time staying away from .NET, but perhaps taking your own advice and trying to get some general C/C++ experience might widen your appeal.

How to do this? Tricky. You could always sign up for some sort of SourceForge slavery, or just build a portfolio with some project management principles (outline what you did, why you did it, how you found it useful, what you learnt etc.)

my experience is pretty much useless since I was using proprietary technology (down to the programming language itself).

This is everywhere though. I've had 3 professional jobs so far (2 internships and 1 full time), and every company had some weird software or programming language they used. The value they saw in me was that I was a fast learner and that I was self-motivated. Of course every new job comes with a heavy learning curve, but you just need to accept it.

I know you said you applied for some QA jobs, but try to interview for some programming jobs. By discipline, I'm not a programmer, but I've gone through my interviews with questions about programming. The tough thing is coming up with answers and examples on the spot; technical interviews are even more fun. As much as you can, try to know ahead of time what the company is looking for. Believe me, I've screwed up some interviews bad, but that was because I just "showed up" and that was it. Talk to people you know around the university to learn about the company, not just googling about them.

Also, take what an adviser says with a grain of salt..... they are, in fact .... an adviser.

Then lost my job and my experience is pretty much useless since I was using proprietary technology (down to the programming language itself).

I disagree with that logic, and I'd urge you to push potential employers to not think along those lines, either.

The actual language you use is almost irrelevant. The true talent to programming is in coming up with a good design and a good plan on how to implement that design. The actual language you use barely matters. I had 10+ years of C++ experience when I started C#, and I reached approximately equal proficiency in C# in a matter of days to weeks, not months to years. In my current job I write code in Intersystems Cache', which is as obscure of a language as you'll find, and my training on that was all of ten days. I don't consider my work experience irrelevant to hobby work I do in other languages either - I've picked up good ideas that I can translate to other areas.

It's very easy to learn to 'speak' another programming language once you have at least one under your belt. The hard part isn't really speaking the language, it's coming up with the "story" you want to tell. That is, coming up with the requirements, figuring out the logic you'll need, designing the UI, etc. If you're a great "storyteller" you can become great in any programming language in only a little time.