Last August 9th I sent a tweet that left some people, perhaps a bit confused.  Let’s face it, unless you’ve sailed a topsail schooner or perhaps something larger, or are reasonably well versed in such things, you may not understand the meaning of “All hands, shorten cables, loose topsails and jibs, prepare to weigh anchor.  Prepare to get underway.”  A little later I tweeted something about “obscure tweets.”  Heh.  Yeah.
In short, that translates roughly to “get ready to leave.”
For some time I had been considering my role in the organization I was working for – like since the small company was bought by a much larger company.  The progress and advances made in the smaller company – away from heavily scripted, heavily control management practices into a more responsive approach to testing, taking steps toward a broader context driven approach. The results were pretty clear – the calls to customer support dropped, behavior of the applications we supported became far more consistent and, overall, there were fewer emergencies to be handled.

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.

The Process

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.

The Change

I admit – the transition was more bumpy than I thought.  Money coming in almost when I thought it would. Legal junk – yeah.  Ewwww.

In the end, it was the right move for me.  It may not be for everyone, but it works for me.
I am my own man.  
A growing number of companies are laying claim to the intellectual property rights of work done by their employees.  Now, don’t get me wrong – work done at the day job or for the day job on on the day-job’s equipment – Agreed.  That is theirs.  More and more, companies are laying claim to all intellectual work their employees do and create.
Work I do on my own, to better myself as a craftsman, that is mine.  That includes this blog.  That includes presentations I put together for conferences.  That includes work I am now doing in support of AST and my local testing group.  That is mine.  No employer can claim that.
Now, when I was active in pipe bands and teaching pipe bands, if I had an employer who wanted to lay claim to rights – they could claim the music I wrote.  They could claim the instructional materials I wrote for drummers.  They could claim the pictures I took.  
No, I’m not making this up.  
My time is my own.
Part of the contract is an agreed time per day or week I will spend at the client office doing work for them.  Any extra time needs to be approved in advance.  Any time short needs to be negotiated.  Pain?  Well, it is different than being on a salary.  
However, that also means that I can build into the schedule time away for conferences or training seminars (either presenting or receiving) or vacation or – whatever.  The phone will not ring at 3:30 AM unless it is something that has been agreed to in advance.  
My plans with my family will not be disrupted by an “emergency” at the office. No, sorry, I just stuck my head in my office and there are no emergencies there.  I’m going camping with the family – see you Monday.
I can work on other projects when I’m not at the client site.  I can write reviews of technical books.  I can write blog posts extolling the virtue of whatever I want to extol.  If I want to write articles and try and get people to buy them – I can do that.  If I want to clean the house – I can do that too.

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,

Steady the helm, Set topsails and jibs.  Another turn on the fore-topsail if you please.
Loose and set the courses.