Advertisement

To Excel in Coding, but Suck in Testing?

Started by May 16, 2013 03:47 AM
10 comments, last by blueshogun96 11 years, 8 months ago

Lately, I've been really tied up by my contract at Microsoft. Until I can afford to not have a day job, that's the way it's going to be for a while. I'm not here to complain about my job or anything, but I've been thinking of something one of my managers of my first Microsoft contract told me in 2010. He pulled me off to the side and told me his honest opinions, and the biggest one (IMO) was when he said "You're probably one of the many people who do great in coding, but suck at testing". This was during the end of my first contract for a testing job. So far, I've had 4 test related contracts, and none of them involved coding, including the one I'm on now. The previous 3 all ended with the same result, only I saw it coming each time except for the first. I'm the first person they lay off because I'm considered the least valuable tester because I don't perform as well or learn as fast as the others. So far, it appears that it's going to be the case for this contract too. A co-worker of mine told me that he heard them talking about my performance and ability to learn and execute test cases. I knew from the beginning that it would boil down to this and I'm 90% sure that they are going to either lay me off first or replace me with someone else more capable. Am I worried about that in particular? Not at all. It's the fact that this happens every time and I almost always see it coming because mindlessly following a pre-written test case for me is problematic.

You might be thinking a) "Why not just get a coding gig?" or b) "What's so hard about following a pre-written test case?".

A) Here (where I live), the vast majority of companies absolutely WILL NOT take a chance on someone who hasn't done coding on the job unless you know someone behind the scenes who's able to "pull some strings". My resume along side of it's format always got at least 1 interview a week and I've been told that my resume is like a work of art with lots of impressive game projects I've written from scratch. But no matter how good I am at coding, their response is "not enough experience". If there's one thing I've learned about being experienced, it doesn't make one individual "skilled" or "capable" either. I have a resume filled with previous test experience, but I totally suck at it. People tell me all the time that I'm one of the most skilled programmers they've ever seen and I've had a handful of people tell me that they are jealous of my skill sets (even I don't think I'm THAT great), but it's not enough to convince an interviewer. Sucks, but IMO, it's their loss, not mine.

B) This one is a bit tougher to explain, and I'll try the best I can without making excuses. I find it difficult to do repetitive tasks that don't require much thinking and stay focused on them. Performing tasks that require trial and error, a white board to jot down flow charts while trying to find the most efficient way to do it is something I do much better at. A good example of this was the 3rd testing contract I had. I won't get too detailed about what I did because of the NDA, but I was doing Xbox 360 compliance TCR testing. Once again, I often had trouble with certain test cases (especially when it came to memorization) and the thing that helped me the most was to envision why these test cases were important on a programmatic level, but I still wasn't very good at it. The interesting side was getting aquatinted with the hardware/software I was using. I was able to learn programming for the 360, it's APIs, the differences between the DirectX superset and debugging *MUCH* faster than I could learn doing the test cases. Some of my co-workers were impressed that I was able to build and port game code to the 360 during my lunch breaks. It just came naturally and I picked it up rather well in just a few days of reading the documentation, experimenting with the dev kits, testing various APIs and sometimes modifying existing code bases and frameworks. It's not because I enjoyed the code part more than the testing, but because I could find myself building upon something and discover new principles upon it.

Regardless of whether the job or task interests me or not, I find myself struggling to focus on it. Focusing on anything is a major challenge for me. From coding a game, to paying attention to an interesting lecture, or sometimes playing an one of my favourite games, keeping my focus is really hard. School? Nope. Church? Heh, I wish. Team meetings? No chance in hell. There's more to it than what I've said so far, but I won't get too detailed. I've gone to a doctor for a psyche evaluation and although I have yet to go through an extensive psyche evaluation, he's already convinced that I do have some sort of mental disorder and possibly ADD. That could add to the problem, but recognizing the problem(s) brings me one step closer to a solution.

So, has anyone else had similar experiences when working in the test/QA field? I've shared my thoughts with others in the industry; some agree while others can't grasp it because they don't code. I don't like the test field, but doing a job I don't like alone has never impacted my ability to do a job and do it right (I've had some really nasty blue collar jobs in my younger years).

Shogun.

It is hard to really rate your case, but coding includes a lot of testing too. The testing while coding ensure a certain level of qualtiy and if you have trouble testing your own code it will backfire later on.

On the other hand everyone has some weak spots, try to analyse them (which you seems to do already) and try to fix them or try to work around them. I had a colleague who forget really everything the next day. To counter it, he just wrote down lot of things, which on the other hand was really helpful because he got a written history of things he has done etc., in this case the workaround to a weak spot turned into an advantage.

Advertisement
From what I've seen, QA is really an entirely separate career path than coding. Though a basic ability to test your work is required, it appears to me that proper QA of an application is a full time job requiring the same amount of focus as the coding does. I don't see hrw anyone can be an expert at both. (Not that my IT job is as prestigious as working for MS.)

What you should do about your situation though, I don't know. Just a thought.

From your post, I'm unable to tell whether you're taking about unit testing or QA-style (manual) testing. Unit testing isn't bad - you maintain the tests but they do all the boring work themselves.

I've seen what our QA team has to go through. QA-style testing is repetetive and boring. In all the jobs I've worked at, we outsourced QA to other countries because nobody in the States wanted to deal with that kind of job themselves (the only QA people we employ domestically are the QA leads who write up the test plans for the foreign guys to plow through). It's gotta be the second most mind-numbing job I can imagine, the first being repetetive data entry.

kseh's experience matches mine; I've never seen a programmer do QA, nor a QA person do programming. I think you're just getting shoved into the wrong job position. A QA role would drive a programmer insane.

If the original interviewer won't hire you for a coding job, but you can get in as QA, you may be able to talk with the engineering team once you're in -- somehow prove yourself to them and have a chance at jumping over to their team.


Well, testing and trouble shooting my own code usually isn't an issue because not only am I not confined to someone else's rules/steps for testing it, but I can also give myself enough room for trial and error as necessary. In my experience with QA positions, I don't have that luxury.

It is hard to really rate your case, but coding includes a lot of testing too. The testing while coding ensure a certain level of qualtiy and if you have trouble testing your own code it will backfire later on.

On the other hand everyone has some weak spots, try to analyse them (which you seems to do already) and try to fix them or try to work around them. I had a colleague who forget really everything the next day. To counter it, he just wrote down lot of things, which on the other hand was really helpful because he got a written history of things he has done etc., in this case the workaround to a weak spot turned into an advantage.

It seems that my thought process tends to break down if I do repetitive tasks too often and too frequently, almost to the point where I have to stop and re-read what I'm doing. So far, I haven't found any coping skills for that.

From what I've seen, QA is really an entirely separate career path than coding. Though a basic ability to test your work is required, it appears to me that proper QA of an application is a full time job requiring the same amount of focus as the coding does. I don't see hrw anyone can be an expert at both. (Not that my IT job is as prestigious as working for MS.)

What you should do about your situation though, I don't know. Just a thought.

Indeed it is. I agree with this, although I'm not exactly sure what to do about it either.

From your post, I'm unable to tell whether you're taking about unit testing or QA-style (manual) testing. Unit testing isn't bad - you maintain the tests but they do all the boring work themselves.

I've seen what our QA team has to go through. QA-style testing is repetetive and boring. In all the jobs I've worked at, we outsourced QA to other countries because nobody in the States wanted to deal with that kind of job themselves (the only QA people we employ domestically are the QA leads who write up the test plans for the foreign guys to plow through). It's gotta be the second most mind-numbing job I can imagine, the first being repetetive data entry.

kseh's experience matches mine; I've never seen a programmer do QA, nor a QA person do programming. I think you're just getting shoved into the wrong job position. A QA role would drive a programmer insane.

If the original interviewer won't hire you for a coding job, but you can get in as QA, you may be able to talk with the engineering team once you're in -- somehow prove yourself to them and have a chance at jumping over to their team.

I'm talking about manual testing. I absolutely HATE it, because like you said, it's mind numbing and not stimulating in any shape or form. Unit testing involves writing test tools in a given language, right? I applied for many jobs of this nature, and never got the job (always turned down because of experience).

I've only met one hard core programmer in QA, but he was recently moved to another section of Microsoft Studios, where he got to prove his coding skills. Me? I can't and sometimes my leads will get pissed if I even touch Visual Studio OR the XDK! Being shoved into the wrong position is a bit of an understatement IMO, and yes, as a hard core programmer, it DOES drive me insane. The other testers (the ones who can't code especially) don't understand this.

As for talking to someone higher up in the company, I haven't had any success in finding a way to get my coding skills noticed. I think the problem is that I don't get to meet enough of those who can code, mostly because I don't know where to find them. *sigh* I'm not one to complain (because that doesn't make it any better), but life is just so unfair. -_-

Shogun.

I've been thinking of something one of my managers of my first Microsoft contract told me in 2010. He pulled me off to the side and told me his honest opinions, and the biggest one (IMO) was when he said "You're probably one of the many people who do great in coding, but suck at testing".

...

A) Here (where I live), the vast majority of companies absolutely WILL NOT take a chance on someone who hasn't done coding on the job unless you know someone behind the scenes who's able to "pull some strings".

These seem contradictory. It's like "My boss at Microsoft thinks I am a great coder, but I don't know anyone at any reputable software companies that can vouch for my coding!"

Did you ask any of your bosses who think you are a good coder to recommend you for any positions?

Advertisement

None of my bosses ever get to see my coding skills, especially not on the job. Like I said, I've never had coding as part of my job description, so they're not going to take a chance on me. I tried asking my leads if they could see if any coding related positions are available, but they don't know anything about that stuff.

Shogun.

None of my bosses ever get to see my coding skills, especially not on the job. Like I said, I've never had coding as part of my job description, so they're not going to take a chance on me. I tried asking my leads if they could see if any coding related positions are available, but they don't know anything about that stuff.

Shogun.

So wait. When your boss pulled you aside he meant it as "I don't know if you're a great coder or not, you probably are, but you aren't that good at testing"? I'm just confused by the meaning. It sounded like he knew you were a good coder when I read it at first.

Do you socialize with any of your bosses? Not outside of work, but watercooler talk etc? Might be worth asking one of them if they'll take a look at some code and give you pointers. If they aren't coders themselves have you tried socializing with people who are at the company? The "I can't get hired if I have no experience problem" usually boils down to people either not realizing what qualifies as 'experience' (the bar is fairly low) or people not capitalizing on the opportunities around them. For the latter, you work for Microsoft. I have a hard time believing you can't find anybody to demonstrate coding ability or technical knowledge to. It doesn't have to be as part of your job. Another thing worth checking out is seeing if there are any competitions/gatherings you can get involved in like hackathons or game jams etc. They are both fun and good ways to demonstrate your ability to people who can later vouch for you.

Like I said, I've never had coding as part of my job description, so they're not going to take a chance on me.

If that were an Immutable Truth Of The Universe, nobody would ever get hired as a programmer. You should abandon the negative assumptions you have and just bust through the walls you run into like a metaphorical Kool-Aid Man.

If you don't make your best effort at achieving your goals, you only have yourself to blame.

None of my bosses ever get to see my coding skills, especially not on the job. Like I said, I've never had coding as part of my job description, so they're not going to take a chance on me. I tried asking my leads if they could see if any coding related positions are available, but they don't know anything about that stuff.

Shogun.

So wait. When your boss pulled you aside he meant it as "I don't know if you're a great coder or not, you probably are, but you aren't that good at testing"? I'm just confused by the meaning. It sounded like he knew you were a good coder when I read it at first.

Do you socialize with any of your bosses? Not outside of work, but watercooler talk etc? Might be worth asking one of them if they'll take a look at some code and give you pointers. If they aren't coders themselves have you tried socializing with people who are at the company? The "I can't get hired if I have no experience problem" usually boils down to people either not realizing what qualifies as 'experience' (the bar is fairly low) or people not capitalizing on the opportunities around them. For the latter, you work for Microsoft. I have a hard time believing you can't find anybody to demonstrate coding ability or technical knowledge to. It doesn't have to be as part of your job. Another thing worth checking out is seeing if there are any competitions/gatherings you can get involved in like hackathons or game jams etc. They are both fun and good ways to demonstrate your ability to people who can later vouch for you.

Yeah, that's the basic idea there.

I see where you're coming from, but let me ask you this. Have you worked in Microsoft Game Studios? I'm in building Studio A, but I can't remember whether this building was strictly for testing or not. I'm quite sure that Studio B has devs there. The testers are quite isolated from the devs and I have yet to meet a tester who has communication with any devs. I know it's not impossible to find a dev, but I don't exactly feel comfortable asking every person I see one by one "Are you a dev? Are you a dev?". There has to be a way of finding someone in the coding department, I just don't know how to do it yet. I'll try asking around and see where the devs normally do their work and in what building/office. Afaik, I'm limited to Studio A as far as access goes.

Like I said, I've never had coding as part of my job description, so they're not going to take a chance on me.

If that were an Immutable Truth Of The Universe, nobody would ever get hired as a programmer. You should abandon the negative assumptions you have and just bust through the walls you run into like a metaphorical Kool-Aid Man.

If you don't make your best effort at achieving your goals, you only have yourself to blame.

I've heard stories that back in the old days, it was much easier to get a programming job. I can't let that stop me because I live in King County, WA where there's much opportunity. If I was still stuck in IN, then there'd be no chance in hell. Assuming worst case scenario (being pessimistic) forces me to find alternative ways to get where I need to go in life. It doesn't weigh me down. You're right about not making excuses for yourself, but breaking through a wall is harder when you don't know how.

Shogun.

This topic is closed to new replies.

Advertisement