filfreire user image

Adventure and reactionaries

testing, quality, and adventure
Treasure Planet, 2002

Disclaimer: at any point reading, bear in mind I’m not advocating for “ninja rockstar” kind of professionals. I’m talking about the kind of people that are goal oriented, have clear objectives, and don’t mind going on an adventure, most times alongside other people, to complete a given mission. And they’re not driven by money or fame: they’re driven by knowledge and sometimes saving someone from danger while getting paid in money (not exposure).

Depressed thieves and bold raiders

No one ever paid a ticket to see Indiana Jones spend 2 hours laying in fetal position afraid of the outside world, afraid that some people will be disappointed he went out of the script in some adventure. No one ever paid for a Tomb Raider game to see Lara Croft read self-help books inside a panic-room because she’s lost confidence in herself when exploring ruins.

And to be honest, I’ve personally never noticed Nathan Drake be under any sort of “guilt-driven-management”, going through some list of “Just checking in how’s the status of your expedition” e-mails when he’s venturing to find the next lost pirate treasure.

Doesn’t make sense right? We expect adventurers, or explorers or history thieves to be: bold, adventurous, daring.

And yet, time and time again, for some reason, people who work in the software industry probably know of at least 1 strange story of that one colleague that got slapped on the “face” for going out of script, or caring about the project, or being creative, or exploring, and even returning with a treasure, while still being a competent “corporate” worker. It’s almost as if going out of script, being bold and adventurous is an infamous trait (sometimes).

Saying this in another way: it’s as if being adventurous is something encouraged always to everyone, with exception of the people who actually start doing it, and then it becomes something not acceptable.

I think otherwise. I believe the whole industry needs more real “Indiana Jones” and “Lara Croft” like-minded testers and developers. The industry needs people who are paid to do a craftsman work and not afraid of adventure. The industry doesn’t need people who’s sole purpose is just to put the right chunks in the right places like a toddler.

“Storytime!”

There’s this woman named Ellie. Ellie was a paleobotanist a few years ago, but after the events of a theme park gone wrong, she decided she’d go and switch over to the software testing craft.

At one point in Ellie’s new career, she met a small group of diverse-minded software testers and software developers working with the same company. All of them wanted to do and deliver good work. And they all decided to team up a bit every day to pair test. Pair testing might sound utopic for some, but Ellie knew better, she knew that sometimes possibility wasn’t dictated by opinions, especially after seeing extinct animals and plants come to life, so she and the others tried it out.

Out of these pair testing sessions, questions began to rise. Their minds started fermenting questions, ideas, pieces of unknown distant puzzles. One time a crazy question came to the spotlight, and both the testers and developers didn’t know the answer. So they decided to investigate to the depths of it to get their question answered.

What happened next was a spectacular show of joint effort, of using each’s craftsmanship, strengths, knowledge, and contacts to aid in finding every piece of a puzzle they were about to complete. The idea and thought that scratched the back of their minds the whole time was something in these lines: “This shouldn’t be possible… But let’s see for ourselves if it’s like this”.

Turned out it was true. There was some big whoopsie in the software. The bug they suspected was there. It was massive. They even found out there were multiple clever vectors of attack of how to get to the vulnerable state the bug encompassed, and the possibilities of causing mischief with it were quite a few.

In the process of reporting the bug to their other colleagues, a few things happened:

Adventure stories are bad?

I usually draw a parallel between initiatives like pair testing and “being adventurous” in the craft. In the case of pair testing I assume from observation that lot of time the default is “doubt” and “don’t be adventurous, keep it to yourself, testers and developers don’t mingle together”; Even in times when people who are practically not adventurous preach otherwise.

So after knowing about this story from my friend Ellie, I’d like to state a bit what’s on my mind:

I was happy she told me some things: Valuable care for the project generated valuable work and also a valuable learning experience for everyone involved. And as for other people that might not join in on joint efforts at the start, it doesn’t mean they’re heartless to problems, they care at the end.

What I didn’t enjoy about Ellie’s story was the attitude of the governing people that sometimes appear in projects (like some random encounter with nasty bandits in cowboy simulator 2).

This is what I replied to Ellie upon drawing gathering my thoughts:

  • As tester or developer, no matter if we’re old or junior, we should never accept in our deeper-self to be mindlessly bashed around in any manner by anyone who does not deserve our respect. It’ll happen. When it does, we need to be better, and not lower ourselves;
  • Even when being subject of disrespect by a third-person, we should never, under any circunstances, give up on trying to do an excellent job at the time we’re paid to do our job;
  • We should consider not wasting any time with disrespectful people, but also not outright abandoning our responsibilities to the project. It is the project that puts food on our plates, not the failed people that maybe act as proxies inside any project, that sometimes creep forever or sometimes come and go.

At the end of the day, we’re the craftsman and captains of our ships. We must care about the product we’re building and deploying to our customer.

We don’t give up and we don’t let our guard down. We care about the project and people involved, and especially the reputation issues for the team that arise if these bugs or vulnerabilities are found by someone else outside of the project with “unknown” intentions.

The story the “Jedi won’t tell you”

Sure enough: We’re not paid to save the world. That’s fine. A lot of companies already recognize that there’s no point in adopting a stance of “save the world = solve all problems at once” or “balance is equal to perfection all the time”. It’s not an efficient way of working. We can’t solve all our problems and we have to pick which ones to solve. Furthermore, we’re expected to be our best self and to work to the best of our capacity and craftsmanship. And being a craftsman is definitely not an impediment for creativity and adventure.

Personally, I don’t think being adventurous is bad. In fact, I think it’s a fuel for craftsmanship, and it’s craftsmanship that any software project needs. I guess it’s never in the best interest of “status-quo-forever” people to fuel craftsmanship, which is sad. Adventure is the driving force of innovation in software development and in software testing. It doesn’t come with “standing still” or “afraid of the ruling people”.

Thoughtful hackers, pirates and buccaneers of the “Software Seas” never need invitation or permission: they go out of script every day. They go through a list of problems and pick only a handful of them that are meaningful and important to them. Problems that are worth solving. They don’t abide by the rules of some mumbo-jumbo proxy governing person that only cares for his/her own skin and doesn’t care for the project. And it’s these people with a passion for their craft that change the course of history, changing entire industries at times, through creativity, adventure, boldness, and overcoming challenges raised many times by dumb people who are “in charge”.

It’s always a good time to consider: what would Indiana Jones, after finding a treasure, reply/respond to a down-playing and mean person?