24 November 2010

Hey, is this thing on?

Oh right, I have a testing blog!

So let's see...3 and a half years later, what have I learned?  Mostly that organizational temperament matters a lot, and that in retrospect, my previous jobs didn't look so bad in that regard.  But, I have a new job, and at least for the moment, it's looking pretty awesome.  More testing and collaboration, and less...obstacles.

More to come, probably.  I feel a lot more inspired than I have in a while.

06 August 2007

Getting a job (or, finding a tester by looking in different places)

So, at the ripe old age of 36, suddenly I got a job testing software, after a career in boiling water. That's interesting, probably. I think that there's a couple of things to be said about that.

First, as the comment to my very first post suggested (Hi Scott!), you can learn about testing software by doing a wide variety of things. My variety of experience (how many of you have circumnavigated the planet?) gives me a wide variety of experiences that I can analogize to generate test ideas. Someone whose entire career focus has been on development and testing is likely to have a narrower, deeper experience to draw on--which can be its own strength, to be sure, but it's important for a tester to be able to cover a wide area at a shallow level quickly.

The things that I think were instrumental in my finding a testing job were commitment, passion, a bit of deductive reasoning, and a certain amount of salesmanship. To elaborate:

  • Committment: On my own, while working and taking a full slate of online classes to finish up my degree (long overdue, and I have all this GI Bill money to use up), I studied all the online lectures from the Black Box Software Testing course by Cem Kaner and James Bach. I also read a good share of Testing Computer Software and Lessons Learned in Software Testing. I watched several Google videos about the subject (both Bach brothers' Tech Talks, a few others) and read a bajillion blog posts, white papers, and online articles about the subject.
  • Passion: When interviewed, I was able to honestly and sincerely convey my enjoyment of problem-solving, investigation, informational energetic debate (I believe some people refer to such things as "horrendous arguments" and run out of the room, but I enjoy them--and it was a lot of fun to have several of them at CAST with people who were clearly just as energized by debate as I am) so there was no doubt whatsoever that I *wanted* to do what the job entails. Hell, I do it anyway.
  • Reasoning: I have a lot of friends in tech. Turns out there are actually several people I know from way back who are testers, but interestingly we had lost track of each other for the most part. The ones I was in touch with (non-testers) by and large said that testing didn't pay well, didn't offer advancement opportunities, was a second-class career track, bla bla blah. My first job offer in test I had to turn down because they pay wasn't enough for someone who's a primary breadwinner in their 30s in the greater Seattle area with two kids. So, I got a bit discouraged for a while. Then I thought about it and realized that there were quite a few testers who were clearly doing alright for themselves. So, I was able to do a bit of testing on what some of my friends were telling me and figure out it had to be hogwash, the one low job offer notwithstanding.
  • Salesmanship: Obviously any interview is a sales job. For a tester, I think, this is even more crucial. If you can't sell yourself, how the hell do you expect to sell a bug? Some bugs need selling. I think that, particularly on this job, I did a good job of selling myself and my interest. One comment I made that I was particularly proud of was when I was asked why testing, and one of the interviewers asked if it was because there were a lot of openings in the field, I said that I thought that was a bad reason to choose a field--I don't want to be mediocre, I want to be good at this, and if I'm good, *somebody* will have an opening for me. Choosing a field strictly because it's got lots of openings is practically admitting defeat before you even start, I think.
And now, on the flip side...where do you find more testers? First, I'd echo what several experienced testers and test managers have said--computer science/computer engineering programs don't really even teach software engineering, at least not in the sense that the term is used in the business world, so clearly they're not going to teach testing very well. I'd go looking for fields that teach investigation, logic, verification, things like that--physics, journalism, philosophy. That's if I were looking for people fresh out of college.

Mind you, I'd have made a crummy tester in my early 20s. I was sure of myself in all the wrong ways. I wasn't arguing in order to get to the right answer, I was arguing to win the argument--and I was good at it. That's no good in testing, of course. I suggest that there are probably proportionally more people who would make good testers in their 30s than there are in their 20s. That suggests one might be able to identify jobs where good potential testers might congregate.

Now, I'm certain a lot of what makes a good tester can be taught to anyone who's prepared to learn--but I'm going to make a claim that there's a temperament element that really can't. You're either the sort of person who always asks "why?" when things happen, answers yourself with more than one different answer, and then goes after corroborating evidence, or you're the sort of person who goes "huh, that's funny" and walks away, or unquestioningly accepts the first remotely plausible explanation. If you're the latter, no amount of education is going to make a great tester out of you, I don't think. I claim, purely out of my own experience and prejudice, mind you, that the majority of the adult population is drawn from the latter group. This means that even within jobs where you're likely to find potential testers, there are going to be a lot of bad candidates, because they lack the innate curiosity that I'm claiming is an important ingredient.

Here's some things that might make a good tester: situational awareness; strong observational ability; the ability to adjust a plan on the fly; the ability to follow a procedure accurately while not getting tunnel-vision; strong personal interaction skills under potentially stressful circumstances; the ability to learn large amounts of information quickly to a reasonable level of competence; the ability to accurately, concisely convey the necessary information to describe a problem or situation without wasting the recipient's time with unnecessary details.

Off the top of my head, here's some jobs that people like that might be doing right now: Firefighting; police work (especially investigation); auditing; operating power plants (you knew I was going to throw that one in there, right?); or a large number of other military specialties (that one too).

There's a catch, though. People in their 30s who've been doing those jobs won't come work for you at entry level pay, in most cases. Hell, I could take a kid out of high school who's smart and can lift 50 lbs, have him take the elevator mechanic's exam (out here it's an open union--apprenticeship hiring is based on test score, not cronyism) and assuming he did well enough he would *start* at 20 bucks an hour (50 per cent pay for a stage I apprentice), at the age of 18. By 22 he'd be a journeyman, making 40 an hour straight time, and his overtime would be *paid*, since he's non-exempt, and it'd be at 1.6x--and they get plenty of overtime. When there are reasonable ways for someone college-age to make $100,000 a year or so (lineman is another one, but it's a bit more dangerous) you might have to compete for the really desirable candidates.

There are people out there who would make *great* testers with some training--and I'm by no means claiming that you shouldn't worry about all the usual things such as team chemistry--but the claim I'm trying to make here is that people *know* you can get more out of one great tester than two good ones, people *know* that developers don't necessarily make good testers, let alone great ones, people *know* the skills they need to look for (and I claim that someone who learns quickly and adjusts quickly will pick up enough scripting to be useful in such contexts if it's presented to them correctly, while a developer who's not investigative by nature won't ever be really effective as a tester without another tester around to provide them some direction), and yet there appears to be some reason people don't want to draw the obvious conclusion, a la Indiana Jones: To paraphrase a bit, you're digging in the wrong place. More importantly, you'd think a bunch of testers could figure out a better, or at least different, place to dig if they keep coming up empty-handed--and based on the number of laments I've read about how hard it is to find good testers to hire, clearly there are people coming up empty-handed.

But, as Dennis Miller always says at the end of his rants, that's just my opinion, I could be wrong.

27 July 2007

Beginning at the Beginning

Or, who's this guy and what does he know about testing anyway?

Well, for my personal info you can read the sidebar, of course, but just briefly, my name is Steve Sandvik. I turned 36 in May, and got out of the power industry and got a paid job testing in June, which was a pretty decent late birthday present.

Grr, this is supposed to be an intro post, not a bug report. So far I've found 3 bugs associated with lists in blogger, when I wasn't even trying:
  1. You can push both the bullet list and numbered list buttons. After that it's just not right.
  2. Highlighting text that is half in and half out of a list and deleting it from the keyboard (but not with the context menu "delete") reverses the sense of the list button that matches the type of list the text was deleted from. Both 1 and 2 can place you in situations where both buttons are highlighted, which has no obvious correct interpretation.
  3. In a list, turn list mode off and back on. The last item will sometimes be one line lower than it was.
So what do I do? Start characterizing the bugs. Go figure. And looky here, there's nothing resembling a "report bug" button, I'm supposed to go post in the morass that is Groups. *sigh*. I love Google, I'm a GMail and GReader addict, but I wish they wouldn't use Groups as their bug reporting tool. Plus, of course, *finding* bugs is fun. Writing good bug reports is a lot more like work.

I was lucky enough to get a chance to personally thank James Bach and Cem Kaner at CAST 2007 for their online testing education resources. I found them to be a huge help in learning the language of software testing, and in being able to explain how 13 years of mechanical, electrical, and electronics troubleshooting and operations would make me a good tester, as well as in teaching me a raft of techniques and heuristics.

So anyway, here's my blog. It's another testing blog. There's lots of them out there already. My goal is to discuss interesting things about testing, and hopefully as a result make myself and others better at testing. Time will tell if it works.

(Things this won't be about, except insofar as I can relate them to testing, even though I have strong opinions about all of them: politics, sports, music, parenthood, the military, commercial power generation, the environment, unions, economics, my OS can beat up your OS, and personal finance. I'm no more an expert on 9/11 than Rosie O'Donnell is...well, maybe more than she, but still I'm no expert on most of the things I listed above; anyway, this is a testing blog, and I hate it when blogs I read for a specific topic throw in the random Bush-bash, or whatever their particular leanings dictate, so I'm not going to do it. I hope.)