Skip navigation.

What's your credit score?

people issues
[textile] Every tester has a credit score. You use it every day. Each time you ask a programmer or analyst a question, when you talk to a project manager about your status, when you write up a defect, or when you deliver some other artifact, you are potentially impacting your credit rating. This week in our online Rapid Software Testing class the topic came up, and it reminded me to relate a recent experience where I upped my street cred. It's worth relating because I think it's an often overlooked aspect of testing. As a tester, many times your effectiveness is relative to your current credit rating. Much like buying a house, even if you have the right information at the right time, you may be overlooked or have to go through a difficult process because of past mistakes or oversights. In a recent meeting, we had an odd mix of people in the room. We were researching a high profile issue. We had executive management, middle management, project management, architects, technologists, performance testers, key programmers, infrastructure, operational monitoring, and me. I was lucky enough to get called in the night before. This was the status meeting. At the meeting, several topics were bounced around, many of them works in progress. One of them involved pulling transaction times from a production log. Someone in the room had just pulled down the production log before the meeting. As we discussed the work in front of us, the issue of who would parse the log came up. The super smart Java programmer in the room and I, the tester, were sitting across from each other. We gave each other the "I have it" stare. I threw down the gauntlet and said I would do it. (I might be exaggerating a bit here, but hey, it's my blog and this is how I want to remember it! We did look at each other, and I did say I would do it. The tumbleweed and high-pitched whistle may or may not have been there.) Once I had the task, I popped open SciTE and got to work. Here is where the cool part comes in. Standing behind me was one of the more respected architects within the company. A smart, likeable guy, who everyone respects and looks up to. He was looking at my screen. During the meeting, while the conversation continued, I coded. I filtered most of the conversation, listening/responding only when I absolutely needed to. When I wasn't focused on the conversation, I wrote a Ruby script. Because the architect was looking over my shoulder, I refused to spend a lot of time looking up methods online (pride dictated I had to do it without seeking help), so the code was a bit more complicated then it probably needed to be. In about 10 minutes, I had the finished script and ran it.
@sourceFile = 'C:\\file.log'@ @infile = File.open(sourceFile, "r")@ @responseTimes = []@ @thread9Begin = 0@ @thread9End = 0@ @thread10Begin = 0@ @thread10End = 0@ @#Log file entries look like this...@ @#12:28:29.494 COL D 10 (java_extensions.cxx:1442): ****** BEGIN@ @#12:28:32.914 COL D 10 (java_extensions.cxx:1442): ****** END@ @#0 - 12:28:29.494@ @#1 - COL@ @#2 - D@ @#3 - 10@ @#4 - (java_extensions.cxx:1442):@ @#5 - ******@ @#6 - BEGIN@ @infile.each { | line |@ @currentLine = line.split(' ')@ @if currentLine[6] == 'BEGIN' then@ @if currentLine[3] == '9' then thread9Begin = currentLine[0] end@ @if currentLine[3] == '10' then thread10Begin = currentLine[0] end@ @end@ @if currentLine[6] == 'END' then@ @if currentLine[3] == '9' then thread9End = currentLine[0] end@ @if currentLine[3] == '10' then thread10End = currentLine[0] end@ @end@ @if (thread10Begin != 0) and (thread10End != 0) then@ @responseTimes.push(thread10Begin.split(':')[0] + ", " +@ @(((thread10End.split(':')[0].to_i - thread10Begin.split(':')[0].to_i)*60*60*1000) +@ @((thread10End.split(':')[1].to_i - thread10Begin.split(':')[1].to_i)*60*1000) +@ @((thread10End.split(':')[2].to_i - thread10Begin.split(':')[2].to_i)*1000) +@ @(thread10End.split(':')[3].to_i - thread10Begin.split(':')[3].to_i)).to_s)@ @thread10Begin = 0@ @thread10End = 0@ @end@ @if (thread9Begin != 0) and (thread9End != 0) then@ @responseTimes.push(thread9Begin.split(':')[0] + ", " +@ @(((thread9End.split(':')[0].to_i - thread9Begin.split(':')[0].to_i)*60*60*1000) +@ @((thread9End.split(':')[1].to_i - thread9Begin.split(':')[1].to_i)*60*1000) +@ @((thread9End.split(':')[2].to_i - thread9Begin.split(':')[2].to_i)*1000) +@ @(thread9End.split(':')[3].to_i - thread9Begin.split(':')[3].to_i)).to_s)@ @thread9Begin = 0@ @thread9End = 0@ @end@ @} #infile.each@ @infile.close@ @puts responseTimes@
The best part, it worked the first time I ran it. I copied the results over to Excel, turned my laptop, and presented my results. The meeting wasn't even over and we could talk about the actual data. I got a small verbal pat on the back by the person asking for the information, and we moved on. Fast forward a day or two... At another meeting, on a completely unrelated topic, with a room full of different people (except for the architect), we were talking about implementing a new process for an automation issue. As part of that issue, we would need to write some Ruby code to populate some data via a web service. At one point, I volunteered to write the code to populate the data. That drew some looks from the programmers in the room (I'm just a tester you know). It was at this point that the architect stopped the meeting for a minute to relate what he saw me do in the meeting, writing the code in a hostile environment and it working the first time. That's the best feeling in the world. Someone else, not even a close friend, stopping a meeting to give you a vote of confidence. And because he has high street cred in the programmer community, I now have higher street cred in that community. It's was more influential then if I had found ten super obscure technical bugs. Probably more influential then if the developers had actually seen me write the simple script (I included it so you could see how simple it is - and I'm sure it could be simpler). So what's your street cred? How do you build it? How do you cash it in? [/textile]

Credit VS skills

I believe there are few (wrong) myths about this that are busted here: credit is the same or directly related to communication skills. Skills and experience uniquely determine tester performance (without credit).
And the last - I missed to describe how cash it. The most significant way is not following company guidelines (for example doing exploratory testing instead of writing comprehensive test cases).

Mike Kelly stock?

I have a similar concept... the share price.

One's personal share price goes up and down many times a day based on how you perceive how *others* perceive your value. For example, I was a penny-stock with a "good buy" tag when I started testing in 1995. Twelve years later, I figure I'm worth oh, about $135 per share...? something like that...

But more to the point, an hour ago, I felt that I gained $2 per share when a colleague emailed me to say that my advice about session-based testing was working well for him and that he'd recommend the technique to another colleague. But an hour before that, it was down $.50 because I was a few days late in returning (promised) feedback about a tester's work here in the lab.

Not too long ago, I thought this idea would make me millions and I'd have *real* investors in me and other colleagues like Mike Kelly, Harry Robinson, Rob Sabourin, etc. But I found this on the web --http://www.bbc.co.uk/celebdaq/ -- and although it shattered my dreams of retiring early, the concept holds true.

So... what's *your* share price today?

Good point

Thanks for pointing that out. It's a good point. Your credit score is not shared, it's a personal rating you have to maintain and manage with each person you meet.

They count - and they can evaporate

I've been on several projects where I outlasted many other people. Remember always that your credit rating is personal to each other person you've worked with. Once they leave, that part of your rating is gone, at least on that company. It also fades as people's memories fade.

Credit ratings count

Great post. I completely agree. We earn our reputations. Technical knowledge is one way - deep product knowledge can be another. Building credibility with developers is pretty essential and can make/break your job as a tester. I've seen my reputation carry over to defect reporting - getting known as someone who can replicate bugs is a good reputation to carry. I've cashed in points when I advocate hard to get something fixed before release.

Rolling My Own

The first time I'm able to build my own test environment for the software under test, with no help from any of the architects, and then finding a reasonable way of configuring a build that could cause a crash.

Of course, the day I knew I had real street cred, was when one of our developers gave me this CD at the end of a project. Just hearing the bass thumping out of my workstation put fear in the hearts of all sloppy coders in the vicinity.

Respect.

Yes, Yes, Yes

Few days ago I added bullet tester reputation (inertia & does it reflect skills directly?) in a slide in a presentation about tester professional growth I'm preparing for local conference. You inspired me to extend that to a whole slide.
Answering your questions. How do I build it? Just as you described – volunteering or silently doing something more that expected – which I’ve used to blog about (like implementing small process improvements on your own or helping tech writes, etc.). And not doing something negative (like not reporting too much bugs). That’s hard one as any of your attacks, mistakes, especially those caused by incompetence – could be remembered. To avoid it I practice “Presumption of innocence” – something I yet think to blog about, but in few words – when a code doesn’t work don’t assume it’s because developer have never tested it – start by assuming there are something different in your environment.
And of course don’t forget about honesty, responsibility, tact (from your previous blog). More over you have a separate credit line with each person in a team: manager, developers, peer testers, your boss and your inferior. I build and cash it differently.

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.