Sometime in 2004 or 2005, one of my best friends went to work at a startup that was doing software to analyze source code and identify potential bugs, based on common mistakes with both algorithms, and the quirks of the C and C++ programming languages. I was at Apple, working in the Developer Tools group, so he got in touch with me quite often as he tried to figure out how Apple’s version of GCC, the open source compiler, operated. He was really trying to figure out how the compiler found secondary files on the filesystem, which, on Mac OS, is tricky.
Fast-forward a few years, in January, 2008, he called me. Told me that the company had just fired the disaster that was their QA Manager, and that they had been looking for a replacement. I told him that I wasn’t willing to move back to California. He said that they were so desperate that they were willing to consider a remote hire. I told him that I was still making a go of it at Lombardi, and that I was going to pass. He told me to call him if I changed my mind.
And in April, I got let go.
After crying in the parking lot for a while, I drove home. When I got home, my wife told me: “You have to do two things: One – you are going to have to get a new phone anyway because Lombardi is going to take away your Blackberry. You have to get yourself an iPhone.” (It had shipped 9 months earlier and I had pined for it).
“And, two – you have to call your friend and talk to him about Coverity.”
“But I am in really bad shape and don’t really want to think about it,” I moped.
“No, you must talk to him now. You have to know whether it is still an option ASAP.”
So, I sat down and called him. After small talk, I said:
“I got laid off today.”
“Oh! I’m sorry! That’s wonderful! That’s horrible! I know you must be feeling awful! But we need you! Get me your resume as soon as you can!”
“I need to overhaul it, but you’ll have it Monday morning.”
“Great! I need to talk to G right now! Wait, he’s not here yet. As soon as he gets here.”
I got my first iPhone that day, and having it really helped my emotional state (although the price was daunting!). I then sat down and spent the next few days redoing my resume from scratch, updating my LinkedIn profile, and asking for recommendations. I also went into Lombardi and had the phone number transferred from the Blackberry to my shiny new iPhone.
I sent the resume in late Sunday night.
On Tuesday, I got a call from G, my friend’s boss.
“I have opened up a position called QA Director. You would be building out our QA organization from the ground up, hiring people as appropriate, building QA plans, and possibly expanding our Release Engineering effort.”
“That sounds good.”
“The thing is, I don’t know how successful you would be not being in the office. It gives me some confidence is that one of my managers is already remote, in Boston. And he has people here reporting to him. You’ve worked remotely, and managed remotely. Talk to me about how you mitigate the risks, what kind of communication you would set up, and the risks of being a remote manager.”
So, I talked about electronic communication, wiki pages, email etiquette. I talked about lack of hallway conversation, about needing eyes and ears in the corporate office. I talked about the importance of automated testing, particularly at the model and at the API level. I talked about how compilers worked, and how Coverity’s products must be implemented.
At the end of this conversation, G said, “Well, I have to think about it. I like what are you saying, and the way you are thinking about all of this. But I have to decide if I am ready.”
A couple of weeks passed, during which time I started the local job search in earnest. My friend sent me email almost every day, asking if I had heard from G. My wife decided to take our kids to her mother’s house several states away, and I decided to join her to get a break. While we were on the road I got an email from G, asking if we could set up a conversation soon. I gave him a date and time.
He called me right on time, and said, “I would like to move forward with interviewing you for this position. Could we setup a trip out here to talk to my staff? Could I get references?”
I told him about the PMP class in Las Vegas I had arranged to go to while still doing work at Lombardi (technically I was still an employee). We agreed that I would do that class, and then fly out to San Francisco for a few days for the interview. I paid for the ticket change for my return flight, and Coverity picked up my flight from Las Vegas to SFO. I stayed with my friend, and I had a good weekend catching up with him and other friends.
On Monday morning, I went to the office and met everybody. G talked to me first, and then I talked to a parade of engineers and managers. One of them asked about how to test user interface. I told him I had no good answer for that. There were technologies for testing web pages that were pretty good, but I had no good solutions for testing native Windows applications. I preferred doing strong unit tests at the model and API layer; the interface changes much quicker than tests can be written, so that should be tested manually.
I said to myself, So that session went well. Sigh. Not an auspicious start; I did not have the answers to his problems.
However, they did a programming whiteboard, and I nailed that. The person asked me to write something to covert integers to ASCII strings in C. Right up my alley.
I discussed testing command-line utilities and compilers with the other people. QA philosophy. Software engineering. Distributed teams. Offshore management (Oh, there was a testing team in Ukraine? Amazing; Lombardi had one of those as well!)
At the end of the day, I was exhausted, but I felt good. My friend, who had recused himself of the interview process, was dying to talk about it, but couldn’t, so we talked about Star Trek, Game of Thrones (still just books), and our family life.
I flew back. A couple of days later, G called me and asked if I would give him the contact info of my old boss. He wanted to talk to him.
“G, he fired me. Why on Earth would I let you talk to him?”
“I just want to see they way he thinks.”
“I guess I don’t really have a choice here. OK.”
He called back about 3 hours later, and said, “Wow, those Lombardi people are extreme Type-A personalities, aren’t they? You have nothing to worry about over my conversation with him.”
Time went by. Turned into weeks. I heard from him around that time, with an email:
“I am having a difficult time thinking about this. The entire staff really liked you (even the guy grilling me about GUI testing? I thought to myself); I really liked you. I am trying to come up with a scenario where this could work with you in Austin, and us in San Francisco. I need some more time.”
A couple of weeks later, my friend asked me if I had heard anything, and when I said no, he said, “Well, I probably shouldn’t say anything, but G has been really cheerful the past day or so.”
The next day, G called me.
“I have been rethinking what I want to do. I don’t think that this could work with you as QA Director.”
“I’m sorry to hear that.”
“But I do want to make you an offer for QA Manager.”
“So what do you see as the difference?”
“Rather than setting direction and strategy, you would be working with the other managers on my staff, as well as the architects, to develop it together. You would still hire people, but the staffing levels would be set by me. I feel that this gives you what you need to succeed, but covers the risk of being remote. You would have two people directly reporting to you, plus one contractor in San Fransisco, one contractor in Omsk, Russia, and one in Kiev, Ukraine.”
He went on and outlined his vision. Then we talked about tactics.
“I would need you to spend one week/month minimum in the office in San Francisco, sometimes more.”
“25% travel time. OK.”
“What do you think?”
“What’s the compensation picture?”
“I will have somebody call you about that. I don’t do those negotiations; I am not good at them. Does this sound like something you could do, assuming the comp is acceptable?”
“Yes, but I have to think about it, and I really need to know compensation.”
“Let me have my recruiter call you.”
Two days later, I got a call from a recruiter. He outlined the offer. The base salary was 25% higher than Lombardi, and back up to the level of what I was making at Apple, with no state income tax! (Yay Texas) There was a bonus program for managers, and there were stock options.
Frankly, it was incredible. I said yes.
My long spring nightmare was drawing to a close. Still had to setup my home office in my house. Still had to arrange for my first two weeks in San Francisco. But, we were going to survive.
It helps to have good friends.