Take the 2-minute tour ×
The Workplace Stack Exchange is a question and answer site for members of the workforce navigating the professional setting. It's 100% free, no registration required.

I'm a software developer. Recently, my boss has told me my upcoming project assignment will be doing manual quality assurance on a web site some colleagues are building.

I feel that spending 6 months doing this instead of coding is both a waste of expensive developer time and detrimental to my career. When I spoke with my boss about my concerns he said he was sorry but they didn't have anyone else to do it. Originally, I was going to be writing coded unit tests for the project but now it's been downgraded to just manual testing. I feel so devalued by my organization.

How can I get out of this situation without leaving my job? Does anyone have a creative solution I can pitch to my boss?


I've been a software developer about 6 years prior to getting this assignment, and two years in a junior position at another job before that. We have no QA department, usually relying on our business clients to do testing (these are in-house apps). There are three guys and me. It's an MVC project, which is new technology to all of us. The others were involved in phase I of the project though and I wasn't.

Right now I'm thinking I'll try suggesting someone else do the manual part of the testing with some guidance from me, or failing that ask to rotate duties. And try automating part of it. I'm also going to update my resume and networking activities, just in case.


Ok, So here is my update with what I've done. It's taken me a little while to put the pieces together. The project team has decided to go ahead with coded ui testing (using Visual Studio 2012 tools) so at least I'll be learning something and taking the painful edge off of the repetition. We had to sell my boss on this approach, but all my team members backed me up. Additionally some recent conversations with managers about how work is assigned in the group have helped me realize that the root problem is not fixable. There isn't enough good work to go around and that isn't likely to change. So, I am also looking at other jobs out there. I wish I could mark several of the answers given as the answer because so many of you gave great ideas and I feel like I've incorporated several into my "solution" and into my thinking. Thank you Stack Exchange Community.

share|improve this question
3  
How long have you been a software developer prior to getting this assignment? –  JB King Dec 28 '12 at 22:39
    
about 6 years in this job. Two years in a junior position at another job before that. –  Eden Dec 28 '12 at 22:42
4  
Thanks for the clarification. That last bit is key -- this is probably not about you, but rather drawing the short straw, as you weren't deeply involved in the first phase. Heck, think of all the stuff you can find, looking at it with fresh eyes! :) –  jcmeloni Dec 28 '12 at 23:26
3  
Lots of good suggestions below. Thank you everyone for input. I am going to give some of these ideas a try and I'll let you know how it turns out. Feel free to post anymore ideas though. Right now I'm thinking I'll try suggesting someone else do the manual part of the testing with some guidance from me, or failing that ask to rotate duties. And try automating part of it. I'm also going to update my resume and networking activities, just in case. –  Eden Dec 28 '12 at 23:48
1  
"We have no QA" - that's pretty lame of your management, did you consider convincing them to hire a tester? I mean - ok, it may be really difficult to find out how much testers would be best for the project, fine. But to have at least one tester is just a safe bet - really worth to give it a try. –  gnat Dec 29 '12 at 11:50
show 7 more comments

8 Answers 8

up vote 17 down vote accepted

Leave.

Seriously leave.

In an age where unions get a bad name, the only recourse we have against bad management is to vote with our feet.

I feel that spending 6 months doing this instead of coding is both a waste of expensive developer time and detrimental to my career.

And when management isn't supporting your career growth, that's a huge red flag. [In other words, if your manager asked you to do two weeks of manual testing, then it might be worth taking one for the team. 6 months of manual testing is tantamount to a job change.]

So you should start circulating your résumé immediately so that you can move to a new job that supports your career goals as soon as possible.

share|improve this answer
3  
@enderland: If somebody asked you, "How can I fly from New York to San Francisco inexpensively without an airplane?", how would you answer? // You see, sometimes people aren't asking the right question. It's something that every veteran software professional learns at some point in their career. If you're a software professional, I hope you learn this too. –  Jim G. Dec 28 '12 at 22:34
3  
@Jim G. Perhaps helicopters, riding on birds or UFOs could be considered. ;) –  JB King Dec 28 '12 at 22:36
7  
@Eden: Hey, if you're willing to spend six months looking for your "UFO" then maybe it isn't so bad. I just know that six months doing manually testing isn't going to look great on a software developer's resume. Prospective employers at future job interviews will ask questions and wonder why you were chosen (amongst several other developers) to perform six months worth of manual testing. –  Jim G. Dec 28 '12 at 22:47
15  
+1, I don't care if this isn't strictly an answer to the question that was asked; it's the right solution to the problem that was presented. Six years is long time to spend at only your second job - you should only do it if your job is moving your career forward steadily. Six months of manual testing, for a developer, is a massive career regression; you're sabotaging your future if you do this. –  Carson63000 Dec 29 '12 at 5:54
6  
@Eden They took your stapler and moved you into the furnace room. Are you sure you're still getting a paycheck? Start looking around a little more. You might be surprised at what's out there. Any job where they're just assuming you'll be cool with this is one where they're assuming people are sticking around for inertia's sake alone. They aren't setting the bar very high. Also, Blue Thunder, not Airwolf. Airwolf was fiction. –  Erik Reppen Dec 29 '12 at 8:22
show 9 more comments

My best option here is to try to get as full a perspective as you can about what your boss is thinking. The spectrum can include:

  • I'm desperate - this testing absolutely must be done and we cannot justify the cost vs. reward of coding unit tests, it has to be manual. There's no one else I trust, and no one else who can be spared, this is an all hands on deck moment.
  • I have serious concerns about this person - the last job went poorly and I'm concerned about putting this developer in a position of high-trust, manual testing is where they can do the least damage
  • This is likely to turn into something hairy, thank goodness I have someone I can trust to put on it, I know this person will keep a mess from happening and be there in a crisis.
  • There is way cooler work coming, if I put this person here doing this now, I have the option of moving him to the awesome thing that's up ahead.. I can't and won't talk about it yet, because it is too uncertain and I can't make promises.

I say these not knowing you, your boss, or your company. These are all reasons that I have asked people to do work "below their pay grade" and only one of them is a real slap in the face, and I wouldn't honestly do bullet #2 without also having a talk with the employee about the failures in performance in the past. Managers vary, though, and so does the situation.

There's no perfect here - yes, 6 months of manual testing for a mid-level person (6 years sounds mid level to me) is not an efficient tradeoff. However, waiting 3 months to hire a cheap intern can delay a product to the point where it will miss the requirements of time-to-market in a competitive industry, so if I had to spend 4X more money (assuming an intern makes a quarter of what you make...), I would do it if it offered the hope of 10X the profit (which it could).

Thoughts for steps...

If you haven't - have a long heart to heart with your boss - I suspect that if you don't want to leave the job right now, you're willing to "take one for the team" on the understanding that you won't be doing unpleasant work forever, and that you'll be high on the list the next time the good opportunities come through. If that's not the case, you need to find out why he doesn't value your performance, even if you have to grit your teeth and ask him what's wrong with your performance, knowing is better than not knowing.

When/if that doesn't change anything - also engage in a "what if we try..." discussion - if you can honestly see a way that automated test design can make the work more efficient and of higher quality with the same cost to the company - then you shouldn't have a problem selling it. I don't know any manager that wants to beat people into doing unpleasant work for no cost/schedule savings just for the pure evil joy of it. Put a bid together, try to sell him - taking the initiative to try to do the work more efficiently is always worth it.

When/if that doesn't change anything - you are at a cross roads - your manager has every right to demand that you do this work, his way - if you haven't convinced him that your way saves money, and you haven't managed a new assignment - then you are under the obligation to do what you are told if you want to continue to collect your salary. You're at the cross roads - is the salary worth it? Would you get a better situation by changing companies? That's a decision only you can make. My approach would be:

  • Be as efficient as possible - show that even on a task you hate, you can do a good job. In fact, show you can do such a good job that this is a huge waste of your profound skills. Where-ever possible, make it possible for someone else to do this work easily, and look for any ways to improve efficiency you can (for example, in most manual test cases, there's opportunity to write helper scripts that aren't "automated testing" but are profoundly helpful - database reset scripts, user account setup scripts, automated rebuild/reinstall - little things that make the world so much better for everyone).

  • Look for a new job whenever you feel frustrated. No reason to do a crazy "I want to quit right now" job hunt, just keep options open.

  • Network, network, network - if this is a big enough company, someone is doing something interesting - if your boss can't give you a good job, maybe another group can.

  • be available and helpful and positive, but be aware that your job was defined as testing, and you don't want to be so helpful that you end up neglecting the work you were asked to do in light of work that seems more interesting - unless you have a clear go ahead from your boss. It's totally possible to get involved in more interesting work this way, but you need to make sure you haven't totally circumvented the people in charge.

share|improve this answer
    
Some very good food for thought here. –  Eden Dec 28 '12 at 23:32
add comment

Ok, I think it's obvious from the another answer one option is leaving. However, given you have said this

When I spoke with my boss about my concerns he said he was sorry but they didn't have anyone else to do it.

I am going to assume you did not suggest any options other than "I don't want to do this." Your boss probably is quite busy, this is might be an important or critical project or he might just not want to micromanage it.

What you need to do is suggest either

  1. Someone else do this testing
  2. You be able to do it with automated tests, etc

Find someone else to do testing

As a full-time software engineer with 8 years experience, your time is (or should be..) quite valuable financially. Your boss should feel terribly bad having you do something nearly anyone could do with nearly no software experience nor prior experience with the product should be able to do. Paying a software developer to do monkey work is a huge waste of his money.

Your boss probably doesn't care about your personal interests. He cares a lot more about getting the project done and having it cost less. You need to make him see this problem in terms he cares about.

If you have the means, suggest to your boss to do one of the following

  1. Hire someone else temporarily
  2. Have another team member who is paid less do the work
  3. Delegate to a QA department

I think ideally, you should suggest #1 - ask your boss if it would be beneficial to hire a part-time employee. If you work near a university, this is perfect. Find someone who is interested in web development or something similar (or really, you just need a smart person who wants to work some) and hire them for a small percentage what your total cost to the company is per hour.

Although #2 and #3 sound not feasible given your specific situation, for others in similar situations, either may be a very viable possibility.

Do the task... but not manually

It may be that you are unable to get the work out from your team. You and your small group might have to do the testing. In this case, you still have some options.

Remember your boss cares about things different than you. You want to put things in his terms.

  1. Suggest an approach where your entire team does something like 4 days development, 1 day testing. Somehow split the work among all developers.
  2. Developing automated tests.

The first suggestion allows your entire team to be more engaged and catch more of the problems quickly. You have more eyes finding bugs/usability problems much closer to their creation instead of one person being tasked with finding ALL the problems. You can easily pitch this to your boss in this sense (after all, it makes a lot more sense if you are going to force software developers to do testing instead of having a QA person or someone dedicated to it...) and let's be honest, if all of you are going to have to do manual testing you nearly guarantee someone's going to begin writing automated tests.

The second can also easily be framed in such a way your boss can approve. It should be easy to say something like, "This is going to be a long project. Developing automated tests will create a tool-kit of different automated tests we can use throughout the course of this project and allow changes to be quickly tested towards the later stages of the project."


The key for any suggestion to get your boss to change his mind is to present it in such a way as to be win-win. It must be a suggestion which not only supports your career/personal objectives but also furthers your boss's business goals.

share|improve this answer
    
+1: Good suggestions. –  Jim G. Dec 28 '12 at 23:27
5  
+1: not manually. There is no reason to do repetitive testing manually. Learn Selenium and help the team design the web pages so that tests are stable. If the development team won't support automated tests, then it's time to go. –  kevin cline Dec 29 '12 at 17:22
5  
@kevincline This honestly should be an answer. Everybody seems to unfairly categorize QA as mindless keyboard smashers when it can be so much more than that. Utilizing tools for automated testing, writing complex testing scripts, determining testing strategies and managing test environment builds and deployments is a highly technical and rewarding job. It should not be discounted how using this opportunity to learn these skills can improve ones abilities as a software developer but also improve ones career. –  maple_shaft Dec 31 '12 at 12:44
    
Much of this answer is good, but the insults to software testers are inappropriate, imo. –  GreenMatt Jan 2 '13 at 14:13
add comment

Any suggestion you make has to be framed as a win-win, which is tough to do in this senario.

One issue is that if you just refuse, or do the work under sufferance, you will be seen as someone who puts their own short term career goals ahead of the team/company; if it is just short term (and 6 months out of a 40 year career is hardly a life sentence to the salt mines) and you have valid reasons to stay with the company (training, investement, long term prospects) then it may be better to ride it out.

Your boss knows this is not a good job - hence the apology. If they had any obvious options, I suspect they would have taken them.

Taking the "expensive developer" route is only valid if there is other development work to do; if the company has financial issues they might conceed the point, make your role redundant and hire a much cheaper QA/tester or even outsource.

Solutions might be :

leverage - your boss is on the back foot because he has apologised; take the inititive and ask for something you want in return when the project is done. Make sure its cleanly identified - training, a particular role in the next team - and get it in writing

expansion - ask for the role to be increased in size to incude more areas that will help your career; this could be having a stint as Product Owner or Scrum Master in an agile framework, or having a role that would include resolving some of the issue you find

rotation - ask for the role to rotate around the team, so that it is perhaps only two months at a time, and other duties will be included

automation - push back on the automation vs manual testing. Research the topic and come up with solid, well formed cost-benefit cases that show that automation of the tests will be better in the long run than manual testing work.

share|improve this answer
1  
Great solutions, especially given the OP's description of the environment, which seems like a situation in which there's a bit of mismanagement and a lot of room for suggestions & ways to turn this into a positive. If the OP can get any movement on any of your suggestions, let alone all of them, that's some very good experience in communication, constructive argumentation, resource management, etc -- and what a good set of experiences to talk about in future job interviews, should the OP eventually move on, rather than something like "My talents were wasted" (which still may be true). –  jcmeloni Dec 28 '12 at 23:22
    
Good point about having a better interview story if you try some options first... –  GuyM Dec 28 '12 at 23:28
    
Unfortunately, taking one for the team can hurt your career. Now you're being part of the team, but in 6 months, they'll all think of you as "the tester". –  thursdaysgeek Jan 2 '13 at 23:29
    
@thursdaysgeek - balancing personal goals and team goals is always hard, especially in an agile/scrum environment. I expect that my team puts the "user" outcome ahead of their personal goals, which usually means the "team outcome." My team know this, and trust me to ensure that no-one ends up with just "sprouts on their plate" (to use our team phrase) and no promise of "desert." To be clear, I would never suggest just "take one for the team" unless you had obtained some kind of leverage in writing from your boss as to the reward/benefit you would obtain. Learned that the hard way myself. –  GuyM Jan 3 '13 at 0:13
    
@thursdaysgeek - I would also suggest that being able to demonstrate the ability to negotiate a compelling win-win business case, face to face with your manager is an important aspect to many careers. When I recruit, increasing cohesion in the development team is of equal importance to technical skill and ability; excellent technical skills are irrelevant to me if they are coupled with a win-lose, confrontational or passive aggressive approach to discussions. –  GuyM Jan 3 '13 at 0:27
show 1 more comment

There is no reason to do repetitive testing manually. Learn Selenium and help the team design the web pages so that tests are stable. If the development team won't support automated tests, then it's time to look for a better position.

It would be unfair to categorize QA as mindless keyboard smashers when it can be so much more than that. Utilizing tools for automated testing, writing complex testing scripts, determining testing strategies and managing test environment builds and deployments is a highly technical and rewarding job. It should not be discounted how using this opportunity to learn these skills can improve ones abilities as a software developer but also improve ones career.

share|improve this answer
1  
@gnat: nice, you should get half the rep for this one. –  kevin cline Jan 3 '13 at 22:58
add comment

Are there pieces of the project in terms of architecture, usability, or other project roles besides development and testing that could be where you see yourself adding value to the project?

Course another way to spin this would be to consider if the team could split up the testing so that it isn't all on your shoulders and thus that load is handled by various people.

share|improve this answer
    
Wow! I hadn't even consid... Do you think that @Eden 's boss has considered this option? –  Jim G. Dec 28 '12 at 22:58
6  
@JimG. Yeeeeeah, if his boss didn't consider that really blatantly obvious option then either he's a bad boss, or he's trying to get Eden to voluntarily quit so the company doesn't have to pay unemployment. You should apply Hanlon's Razor and all that, but telling a developer "no, you don't get to play with the shiny new technology, you get to sit in the corner and do repetitive testing" is just plain bad. –  Tacroy Dec 28 '12 at 23:10
    
@Tacroy: 1000% agree. –  Jim G. Dec 28 '12 at 23:11
    
This is perhaps one of the possible opportunities that comes out of this. Given OP can bring himself to a position where he can lead the design of the requirement specs. and has the power to make demand on the development team on architecture and functionality, a QA-architectural role (which in this case will include some testing to verify the requirements as well) could even push the career forward. This assumes the BOSS thinks it's a good idea to give that kind of power to OP. Just clearing test specs. is just a waste of time. –  Petter Dec 29 '12 at 23:27
add comment

Send your manager link to this article:

Top Five (Wrong) Reasons You Don't Have Testers

Here is one of the points from the article:

No matter how hard it is to find testers, they are still cheaper than programmers. A lot cheaper. And if you don't hire testers, you're going to have programmers doing testing. And if you think it's bad when you have testers churning out, just wait till you see how expensive it is to replace that star programmer, at $100,000 a year, who got sick of being told to "spend a few weeks on testing before we release" and moved on to a more professional company. You could hire three testers for a year just to cover the recruiter's fee on the replacement programmer.

Skimping on testers is such an outrageous false economy that I'm simply blown away that more people don't recognize it.

share|improve this answer
1  
Also, I'm not sure if I'd want to insult my boss's intelligence. This seems a bit passive aggressive for my tastes. I'm not saying it's a bad idea, but I'd definitely suggest a lighter approach. –  jmort253 Dec 31 '12 at 0:53
2  
@GuyM : IMHO, in this case forcing developers to work as testers looks even worse (most likely, it will be one of the wrong decisions made by the same management which brought the company to the necessity of layoffs - and the future of such company is rarely bright one; would it be better to get laid off after slaving for 6 months as a tester? –  Steve V Dec 31 '12 at 1:14
2  
@jmort253 : I'd definitely suggest a lighter approach could you provide an example of such approach? I didn't mean it to be insulting (you certainly do not have to rub your bosses' nose in that article), but, since Spolsky is well known and respected, his opinion might be considered. –  Steve V Dec 31 '12 at 1:21
2  
Hi Steve. Sure. The advice is sound, and you highlighted a great point by an esteemed professional. However, speaking from experience trying to persuade people to see my point of view, saying "look, So&so says X so we should do X" can sometimes backfire. With that said, using Spolsky's arguments to formulate and tailor your own arguments may work better than dropping a link in your boss's inbox. Hope this helps! :) –  jmort253 Dec 31 '12 at 1:29
1  
@SteveV - and to take your straw man discussion seriously for a second; would I cut the cleaning contract to save staff jobs and possibly the company? Yes. Would I task a developer to be cleaner? No. I would ask the staff to do their best to keep the office clean and tidy, and probably race round myself to make sure it was presentable before a client/investor came in the door, and maybe each night. What would you do? –  GuyM Dec 31 '12 at 22:36
show 9 more comments

I would suggest to you that a stint of doing testing will give you an opportunity to improve your programming because you will know what testers are looking for and how frustrating a badly designed user interface is to work with as a user. The perspective of non-programmers is terribly valuable knowledge. This is NOT wasted time.

I have, in the last 30+ years, had to do many a special project that I wasn't that wild about. Every one of them turned out to be valuable to me in ways I had not anticipated and several of them resulted in new career choices for me including getting me a job faster than my co-workers when we laid off 700 people. These kinds of tasks are opportunities to expand your understanding and skill set and are priceless.

share|improve this answer
1  
I upvoted this because there's a lot to be said for making yourself more valuable in an organization. Not only does this ensure you'll be more likely to have a position that fits your skills, but you could also add to your post that it makes you look more like a team player! :) –  jmort253 Jan 4 '13 at 3:52
1  
I believe there is improvement because you will look at designing your future application with the knowldge of how painful it can be to the user. Learning what tester and users thingk has never been a wate of my time. Programmers need to get out of there "Im in the zone and dont want to be bothered by anybody else's needs" mentaility. It is counterproductive and is part of the reason why so much softwaare is hard to use and annoys the users so much. Your job includes so much more that just you and the code. –  HLGEM Jan 4 '13 at 22:21
    
you will know what testers are looking for and how frustrating a badly designed user interface is to work with as a user -------------- 1) testers are looking for bugs (surprise!); badly designed user interface is the result of incompetent UI specialist and product manager; all that have nothing to do with programming, so I can't see how it might help in the future (unless someone will be looking for a programmer with ambitions of UI expert etc) –  Steve V Jan 6 '13 at 17:53
2  
most places I have worked the prgrammers design the GUI. Programmers look for bugs in a differnt way than porgrammers do, it only shows your ignorance that you think you wouldn't learn something. –  HLGEM Jan 6 '13 at 19:22
add comment

protected by jcmeloni Dec 30 '12 at 4:03

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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