In testing, we focused our work away from scripts and into broader variable combinations which found instances similar to what was being reported in the field. We could get the developers to focus on what we found and make incremental improvements.
Then we were bought.
Back to heavily scripted “best practices” that simply had no bearing in the context of our environment. Loads of metrics to track – meaningful ones like total test cases, test cases passed and failed, bugs per test case – loads of spreadsheets and graphs. We’d ask questions and were essentially told “You’ll understand after you’ve done a few of these projects. Then everything will make sense.”
Change Your Employer or Change Your Employer
I dove in with the attitude of “I’ve changed the way companies have done testing before – I can do this.” And promptly ran into a wall of bureaucracy. Conformity to standards counted more than anything else. So I asked questions. I went from asking questions to ranting.
Really. Loud, unyielding, ranting.
To no avail.
Well, that isn’t really true. I was commended for being so engaged in making the company a better place. Whatever. I then found myself in several games of “bring me a rock” – you know the game.
“These sound like interesting ideas, are there any examples in our industry you can point to where we can talk with people there and see how these ideas are working out? Oh – not them, they’re Canadian, we’re in the US. Not them, they are a commercial bank, we’re in retail. Not them, they’re not the right kind of retail and they’re in Europe.”
I knew I could not stay. I was losing that fight and I was not willing to do what was expected of me. I was not willing to sell my soul to the Borg. (Note to large firms that buy other firms, do NOT use the word “assimilate” (in any tense) when speaking to a room full of computer geeks. It won’t fly.)
I began looking. A few opportunities were available. One looked really interesting, one was a possibility (but fell through) and one looked like a great opportunity to mold a team – but there was a catch: They did not want to hire the person in, they wanted a contract position.
Contracting. Hmmm. Something I had done briefly but only in a contract to hire situation.
Thoughts on Contracting
Unless you really want to be your own boss, I don’t recommend doing that. Also, unless you really like a LOT of paper work, I don’t recommend being a contractor. In fact, in the US, here are the things I would suggest you consider:
* Taxes – self employment, quarterly filings, writing big checks to the Federal, State and (if you’re like me) Local Governments;
* Paper work – loads of it. Evidence of what you did, billing, statements, balancing accounts – yeah software can help, you still need to take the time to a) figure it out and b) do it.
* Insurance – Unless your spouse (if you have one) or partner (if you live in a State that recognizes relationships other than heterosexual unions) has insurance coverage you can be covered by, get ready for an interesting journey – medical, dental, life, disability, homeowners riders (you’re now running a business out of your home, does that make a difference for your policy?) All that stuff. Its a mess.
* Banking – Remember those direct deposits that magically landed in your account when you were an employee? Ummm – you the business gets money periodically – how much of that gets paid to you the employee? Out of that BIG check comes money for, well, the stuff above. On top of that, your savings for short and long-term stuff.
* Vacations – Speaking of short and long-term stuff, Salaries are awesome – you get paid even if you don’t work. Contracting? You get paid as long as the meter is running. You need to be disciplined enough to set up a salary for yourself – the banking thing above is involved in that. I use a credit union for my primary bank – they were friendly and straight forward in how to set stuff up. I like credit unions a lot. So, you want to take a vacation? Better make sure your income structure supports that.
* Paperwork – No, not the paperwork above – this is stuff like receipts – LOTS of receipts. What was spent for the business – REALLY spent. Taking the significant other out on the town and charging it to “the company” doesn’t count.
There’s more, but that is enough for now. You get the idea. Back to the story.
So, I went and talked with people, interviewed and the like. Since I had a gig that changed the dynamics. I was not the guy whose unemployment was running out and had a house and wife and car-note and what not. I was the guy with a gig and if the one I was talking with you about did not seem a good fit, no worries.
Translated, I interviewed them perhaps a bit more aggressively than they interviewed me. In one case, the interview team found that rather off-putting. Too bad.
You see, 20 or 25 years (heh – who am I kidding?) 30 years ago, I would have been the nervous fellow I suspect that company wanted. No. Sorry. I know as much about software development as the interviewers did, and frankly, more than a couple of them. I also knew more about software testing than all of them interviewing me at that company.
No, me showing up cap-in-hand is not going to happen. That company wanted that. Nope, this won’t work.
Another company talked with me and we had a really nice conversation. But that is all it was. I did not get the feeling they had any idea what they wanted and were looking for people to tell them what they needed. So, we talked about software testing for an hour or so and that was that.
Then the third company. Phone calls. One face-to-face conversation – “Are you sure you want to leave this salaried position to be a contractor?” Frankly, I wasn’t at the time. Remember the list of ideas above? Yeah, that seemed fairly daunting.
So we talked about testing. We talked about software. We talked about what they were looking for and how they wanted to grow the group and develop it. We talked about experience and what I had done where.
We talked about how things are unique everywhere. At one point xkcd and Monty Python both came up within moments of each other. It seemed like a good fit for mutual needs as well as cultural.
Money came up at some point. A range was stated – always leave a little leeway. A few days later the terms of the contract were hammered out. As we were in the process of finalizing the terms, I sent the tweet I mentioned above.
The morning of August 9, I submitted my resignation to my manager. My mind was made up. In it, I included a suggested transition plan for the systems I was responsible for as well as what seemed a logical sharing of information across the broader team.
The funny thing was he asked if I would take the time to think about it and be certain. We would speak Monday morning and see if I had a change of heart. Also, there was a team meeting the next Monday, would I wait until then to say anything to anyone on the team or in the building where I worked. No problem.
That Monday, August 13, we spoke again. I had not changed my mind. I sent another tweet:
Alea Iacta Est
If your education did not include four years of Latin, or history of the Roman and Byzantine Empires, consider this. That is what Julius Caesar is supposed to have said when leading his Legions across the Rubicon River into what was considered the Roman Heartland, starting the Civil War that doomed the Roman Republic and put him in power. His nephew, Octavian, would become the first Emperor of Rome.
The die is cast – there was no turning back.
My friend and colleague Matt Heusser sent this rather excited tweet a few minutes later (quick study that guy – catches on sometimes faster than other folks do)
Two weeks flew by as I completed the hand-off of information, then looked to the future.
I admit – the transition was more bumpy than I thought. Money coming in almost when I thought it would. Legal junk – yeah. Ewwww.
No Butt-Head Rule
Unlike a full-time “permanent” position – I know this is going to end at some point. I can decide how much time and energy I can put into dealing with people who are suffering from broken-spirit-corporate-itis and want everyone to have the same disease.
You know the types – the ones who are always predicting disaster. The ones who patronize you because you don’t really understand how software is made. The ones who tell you to do your job.
Responding or not is up to you – and it is also up to you to see if renewing the contract contains enough incentive to look past people like that. If so, then stay. If not – there is another contract waiting.
Do the Right Thing
Now, if the contract is project specific, that may be an issue. Is this project one that is good for you as well as them? Use your filters and decide.
If the contract is more duration-based, long term (or short term) this can help with some things. Are you doing interesting work? Are you learning things that make you better?
Are you doing things to make the client better?
In my case, I do believe I am contributing to improving the methods and practices at the client. Yes, it is frustrating to have the same conversation many times when explaining testing. I see that as a good thing in this instance – there are many test groups here – I am working with one. People are asking questions. This I see as progress.
In the End
My lady-wife and I were having dinner a week or so ago. She asked me if I thought I made the right decision last year.
For me, the answer is “Absolutely.”
If anyone else follows the same path, do so for your own reasons.
As for me,