I am a Software Engineer and have been specializing in C++ for several years. Due to market demand, I've been applying to several Java Developer positions but have been declined due to my lack of prior professional experience in the language. I have been offered a position as a Software Test Engineer that uses Java, but I am concerned that will send me down a different career path.

Money aside, how can i figure out if changing from a Software Engineer to a Test Engineer a demotion?

  • 3
    The word promotion applies when changing roles in the same company, almost certainly with a pay raise. What you're asking here sounds more like career advice (off topic).
    – Brandin
    Commented Jun 13, 2017 at 6:07
  • 3
    it heavily depends on what exactly you understand by demotion. "I was a piano player and now I'm building houses - is it a demotion".
    – shabunc
    Commented Jun 13, 2017 at 7:59
  • 2
    I switched several times between both positions in my career, and I'm doing fine. Just use each hat as an enhancer for the other hat. You're a better developper if you have experience in testing - you'll debug your work more deeply. You're a better tester if you have experience in development : you can automate tasks, and anticipate some technical trouble.
    – gazzz0x2z
    Commented Jun 13, 2017 at 8:22
  • 11
    Testing is always a demotion if you are a developer. Commented Jun 13, 2017 at 23:18
  • 2
    This is being discussed on meta here.
    – enderland
    Commented Jun 15, 2017 at 15:08

8 Answers 8


I would only call it a demotion for you since you want to be a software engineer, but so what? Continuing to work in C++ doesn't seem to be preparing your for Java according to the places you've applied. It is possible you will eventually find something staying in your current job. How long you're willing to wait is up to you.

The next question is will having the role as a tester, be enough of a prerequisite for a developer. One advantage you would have is experience as a software engineer in another language with the added benefit of Java experience even though it is as a tester.

There are no guarantees, but I would consider taking a job as a java tester only if the company, team and boss are better than where you are at. Getting with a good company probably offers a better chance to become a Java software engineer through an internal position change than trying to explain to other companies how you split experience makes you a better candidate than someone who has already been a Java developer.

Personally, I find C++ developers to often (not always) have better insights to what is happening "under the hood" with their code and usually apply that in ways that someone who just knows Java does not. Maybe you need to push that thought a little more in your next interview?

  • This advice makes sense to me. It seems like a gamble accepting a tester role just to gain experience with the language, but given the right company it could be a gamble worth taking (especially if there is flexibility within the company). On the other hand if the company does not have those qualities, it may be better to stick with my C++ day job and continue expanding my portfolio with side Java projects in the evenings until the language experience becomes a non-issue.
    – Botso
    Commented Jun 14, 2017 at 3:46
  • @Botso - I think finding the right company would be key. Many people think testers can't become programmers, but that's a false assumption especially when a candidate such as yourself has already demonstrated programming skills. You may find you're not a great tester. No shame in that. Hopefully, a good company would get you back to programming. After all, there's a shortage of good programmers.
    – user8365
    Commented Jun 21, 2017 at 15:25

Personally,I as a Software Engineer found the Software Engineering field to be more dominant and advance than testing whether it's manual or automated. (Hopefully I am not being biased) Salary wise also I believe Software Engineers make more than testers. (On average)

I am afraid working as a test engineer is not the most direct and efficient way to move from C++ to Java developer, unless you have so much of interest and enthusiasm to expand your Java skills outside your working environment. (Such as reading related books or contributing to an open source Java application and use that in your resume)


Generally changing from software engineer to test engineer is not a demotion, and money is of course an excellent indicator for whether a career is pointed upward or downward, or at least this is true within an industry and field.

The reason is that the fields have converged in much of the methodology, skill and intelligence required. It sounds like your resume is diverse in constructive ways that tell a story conducive to your goals. This experience sounds wonderful.

  • Do you have anything that would back up your claim that it is not a demotion? How sure are you of that? Commented Jun 13, 2017 at 20:56
  • @IDrinkandIKnowThings I did kind of address that... 1) money as indicator, 2) how the fields have converged. Conversely if it's a large paycut and you bang at software all day instead of writing code it's probably safe to think of it as a "demotion."
    – user42272
    Commented Jun 13, 2017 at 21:08
  • The thing is the OP already disqualified money as the indicator. And rightly so. I am making far less money in my current position but have more authority and flexibility to make decisions. There is something to be said about being happy in a job that pays less, but is at worst a lateral move. Commented Jun 13, 2017 at 21:10
  • For any software big (or complex) enough Testing is as important as Developing. But unfortunately there is a kind of cultural bias which sees a Tester as a "lesser" position. For example take a look at the text in What Kind of Learning Do Developers Recommend? of the 2017 Stack Overflow Developers Survey. I quote: “Get a job as a QA tester and work your way into a developer role.”
    – armatita
    Commented Jun 14, 2017 at 12:01
  • @armatita Probably because it sounds like a "Tester" plays around with software (e.g. a video game) until they find a bug. There's the job title "Test Engineering" which I would be infinitely more interested in applying to. Didn't realize I thought job title is that important but I guess I do insofar as it is a remotely accurate description of what I do.
    – user42272
    Commented Jun 14, 2017 at 15:41

What kind of QA is this? QA responsibilities vary widely. Sometimes testing means manually clicking through an application and recording the result. Sometimes testing means test automation, ie writing code to test other code. Places that expect their test engineers to write code might use the SDET title: Software Developer Engineer in Test. I think the SDET title helps keep you marketable as a software developer. Eg "I provide business value by creating software; most recently the problem domain was test automation".

The first product at my last employer was a system and platform for front-end web application testing. This was in the QA arena, but it was most definitely about developing and delivering code. We later hired another dev who was focused on load testing. Here again, in the QA arena, but the day-to-day was writing code to deliver a product.

There will be some people who don't immediately understand this kind of QA experience. But you can market yourself. You learn how to talk about your skills to other devs, non-coders, and non-technical people. This is definitely anecdotal, but during my last job hunt I only talked to one person (a non-technical recruiter) who couldn't understand how a software developer might be part of QA. The other couple dozen or so (including all other recruiters) understood and valued my skill set.

Finally, some practical advice.. ask these questions:

  1. Is there any cross-over from QA engineers to product development? what does that look like? can I meet that person?
  2. Do product developers ever cross-over to QA? is that unusual? why?
  3. Are QA engineers expected to write code as part of the day to day?
  4. And don't forget the Joel test. Well, an updated version. Ask about CI/CD. Make sure you write code during at least one of your interviews. Etc

Yes, this is a demotion. In general QA engineers are less valued and its typically treated as an entry level role at large corporations, with hires eventually moving into engineering or getting out (either pushed out or finding a developer job elsewhere). It probably shouldn't be since a good QA engineer is very useful, but it will definitely be seen as such by people reading your resume later.

  • It is true that it will be seen by some people as a demotion, but it also depends on the self-marketing. If you can give it the spin of getting a view on the other side to enhance your overall qualification, it may also be viewed as positive.
    – Thern
    Commented Jun 16, 2017 at 9:34

It seems you have experience doing A, applied for jobs doing B in which you have no experience and got rejected, and got offered a job doing C.

If you want to get experience doing B, you might apply for jobs doing A with a chance to learn B.

  • No experience is a drastic overstatement. There is sooo much overlap between these two specific skills that it is easy to go back and forth; A and B are more than 50% overlap, but C is only tangentially related. So more like "experience doing A, applied for B which is almost the same, got offered C which I have no experience in." It's like having experience in sweeping with a broom, applying for jobs sweeping with a dust-mop since I like how much faster they sweep, got offered a job putting the covers on dust mops which involves no sweeping.
    – Aaron
    Commented Jun 15, 2017 at 21:51

Why should it be a demotion? It's a valued field in the industry. The only people who tend to look down on testers are programmers, just as testers look down on programmers (both considering the other the core of all their problems)...

If you're getting paid less as a junior test engineer than you were as a senior C++ programmer that's because you're going from a senior level job to a junior level job, not because you're going from programming to testing.

Java experience could come in handy when working with Java based test tools, especially if you're expected to write unit tests for Java applications (though I'd expect that to be mostly done by the programmers, having a tester who can assist in it is very handy).

  • As a programmer I love testers. Especially good ones. I would never look down on them. That said it is a different job, but one that I think helps fully round out programming skills. Commented Jun 13, 2017 at 20:58
  • You... should not go from Sr engineer to Jr test engineer. Something is very very wrong with that picture.
    – user42272
    Commented Jun 13, 2017 at 21:21
  • I certainly do not look down on testers (I used to be one). But if my goal is to land a job as a Java Developer but my resume is lacking in prior experience in the language, is accepting a testing position that uses Java a good intermediate step?
    – Botso
    Commented Jun 14, 2017 at 3:31
  • @Botso Why should you have to? I've never had a problem getting hired to work in a new language- its expected that a developer can pick up new languages as needed. Unless I need a specialist I don't care what languages they already know when hiring. Commented Jun 15, 2017 at 6:00
  • @GabeSechan I have not found this to be the case, at least in my area. I agree that it is the attitude a good hiring manager should have, but it is difficult to convince the recruiters/managers with little technical background who are just comparing your resume experience against a list of bullet points.
    – Botso
    Commented Jun 16, 2017 at 5:02

Generally speaking this is not a demotion. A Test Engineer and a Software Engineer are two very different things. Software Engineers often get paid more, but that would also be true if you compared a plumber to the HR person at a plumbing company. Different careers have different pay rates. That being said if you want to be a Software Engineer, experience as a Testing Engineer will not be as valuable to you. Unless you have a good reason for switching, I would recommend staying the course with your current job until you have something that suits you more correctly.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .