I’ve been a software tester for all of 5 years now. Although I actually did my first software testing gig back in 2006 as an intern with Accenture, I’ve had a few sabbatical type breaks along the way and reckon I’m more or less at the 5 years actual testing experience mark. It’s been a roller-coaster journey for sure.
I’ve been thinking a bit about the upcoming issue of The Testing Planet, and all the nuggets of leadership wisdom we’ve received, and will continue to get in as we approach the submission deadline (don’t forget to submit yours!) I wanted to share what I consider to be one of the main ingredients in my own career success to date.
Firstly, let me assure you that I don’t really consider myself much of a leader. Certainly not in the field of software testing anyway. In fact, if I’m honest, I tend to feel quite adrift in the sea of thinking and influence I need to deal with while editing The Testing Planet. Though nominally my peers, I don’t really feel as though I’ve made sufficient impact within the software testing community to be guiding the writings of the kind of the testing luminaries we get to publish each issue.
However with that being said – when I take a look at where I started, and where I am now, and the things that I’ve achieved along the way, I feel as though my career has shaped up pretty well. Now I’m at the 5 year mark it might be time to take stock and consider what my plans are for the future, but that’s another story.
So here it is then. My advice to testers (and indeed anyone who wants to listen):
Stop giving up.
That’s it. Simple huh? And yet, so often I have stepped into challenging, rewarding and lucrative roles simply because someone else decided the work was too hard for them. Or they hadn’t had the training. Or they weren’t able to overcome some kind of relational or team issue. Or they didn’t think it was technically possible. Etc, etc.
Instead, they gave up.
Here’s a few examples of what I mean:
I got my first automation role because someone didn’t want to invest the time and effort into figuring out how to get a vendor tool license moved from one server to another. Successfully completing this task meant I was then able to install, learn and use the tool to complete [some of] my work more effectively.
On another occasion, I survived a contractor cull because another tester gave up on “functional” testing. A highly skilled performance engineer; for some reason (after some initial failed attempts) he wasn’t prepared to invest the effort into learning how to test from a slightly different angle. He gave up, and as a result, I ended up doing the functional work, and latterly his performance testing also.
I got another performance testing gig recently when a tester gave up on being able to recreate some complex web calls. It was too hard. He gave up on it, so I did the work instead.
I got to thinking about this today, as I struggled with a Ruby/Watir/Webdriver problem. I won’t go into the details, but it looked as though the problem was a Webdriver bug, judging by various Stack Exchange responses etc. So it would have been quite easy to have just walked away from it on the basis that the problem wasn’t going to be resolved very easily. Very easy indeed – having spent approximately 2-3hrs on the issue yesterday and another 5-6hrs today. In the end though, I found a workaround. The only reason I found the workaround was because I didn’t give up trying, and looking, and thinking, and plugging away at the problem until I eventually found the solution.
Woody Allen is famously quoted as saying – “80% of success is just showing up.”
In my opinion, 80% of success is not giving up.
I read another blog by one of our [The Testing Planet’s] regulars recently – How Did You Miss That Bug? Once again, the answer (to the question, if not necessarily the theme of the post) can often be attributed to testers giving up. Not quite going far enough with their testing. Deciding that they’d done enough or that the additional testing was too much effort for too little reward.
I remember quite vividly an example of this while sitting the Rapid Software Testing class with James Bach and some other testers. The tester was under James’ spotlight for an exercise in equivalence partitioning and working towards finding some juicy bugs secreted away in a data set. The bugs were quite deviously hidden though and he had already spent some time trying to identify the correct parameters required to bring them to the surface. I was sat across the room urging him on because I just sensed he was so close to finding them and just needed to go that slight extra step to get there. Instead though, he gave up and sat back down. Only to find that if he had of continued along his present course, he would have found the bugs.
There’s always going to be a law of diminishing returns. Particularly where testing is concerned. A point will be reached where the cost of testing outweighs the benefits*. But we shouldn’t confuse that point with the place where the rubber hits the road so to speak. Giving up is too easy an option. We don’t learn anything by not putting in the additional effort and surmounting our testing challenges. Let’s go the extra mile instead, and give up giving up.
*Which reminds me of an excellent series of posts by James Lyndsay.