Coverity – 2012

I think that we can make this work. You would need to come to San Francisco often, probably a week a month.

Coverity was a pleasant place to work. Good people; good work.

I was their first remote employee. I travelled to San Francisco for at least a week a month to take care of issues, meet with my fellow managers, meet with my direct reports, and get the general flow. My team was small, but we also managed an offshore team in the Ukraine.

It’s time for you to start working with the other managers on Coverity Integrity Manager. It’s a few weeks away from shipping, and we need to get a test plan in place, as well as automation.

A few months into my tenure, I was brought in to start work on planning QA for the new flagship product. Unfortunately, this product was a classic case of over-promising and under-delivering. The amount of work was severely underestimated, and the schedule was hyper-aggressive. Toss in a few personality conflicts, and it made the product painful to work on.

Me: You think this is going to ship in October? 4 months from now? I don’t think so. There is at least 3-4 months of QA, and Engineering is not close to being done.

Boss: We are going to be done. The team is stepping up to the plate, doing what is necessary.

Me: I will bet you $5 that Engineering won’t be finished by the All-Company Meeting in October

Boss: You’re on!

I won the bet.

That dominated most of my career the first 3 years. And it caused some major changes in management. My boss became my boss’ boss, and then changed my role to individual contributor. This meant that when the eventual management purge that happened because of the major scheduling nightmares happened, my boss quit, his boss (my original boss) quit, the project manager quit… but I still had a job.

Old VP/Boss: I think that we need to change your role. You have done a great job with your automation work, but I think we need somebody in San Francisco to drive the QA strategy.

Me: OK

I had been maintaining this very large old automation suite that used Jenkins (an industry-standard task scheduling system). However, it was pushing past Jenkins’ capabilities. I started re-engineering this system from the ground up.

Me: It will scale up to 50 times the number of tests. The existing tests will be more reliable, cutting our 10% downtime to less than 2%. It will be able to run on more platforms because it won’t require Java to be installed. And it will be easier to maintain, since all of the code is actually code, and not buried in Jenkins config files.

It took a while. I had hoped to be done February of 2012, but there was still a lot of work to do. In the meantime, I got the best performance review from Coverity to date, and got a large bonus.

New Boss: Thanks for all of your hard work!

We had an All-Hands meeting in San Francisco in March. The new VP wanted us in the office at 8:00 on Monday morning. This broke my normal travel routine; I usually flew out of Austin at 6:30 Austin time, got to SFO about 8:30, and then made my way to the office by about 10 – 10:30, depending on travel/traffic, etc. This time, I needed to fly in earlier. Except that this was the South-by-Southwest weekend in Austin. There were no flights available leaving Austin on Sunday. Nor San Antonio. I talked with my boss. The choices were driving to Houston or Dallas, parking for a week, and taking flights from there, or flying out Saturday (there were very few flights then, either, but you could get one), and staying over Saturday as well, with the company paying for hotel on Saturday. He got approval for the latter.

New VP: So, when will the new system be ready?

Me: Close!

New VP: It’s sure taking long enough.

I was almost done with this system. Every one in my management chain up to but not including the CEO asked me about progress on this project. I was baffled as to why there was so much interest by upper management. The new VP of Engineering even made some snarky comments about it to me and a couple of my coworkers at one of the social events. He also made snarky comments about my travel woes getting there. Weird.

I finished the system about two weeks after I got back on a Thursday.

Me: I’m done!

New Boss: Do you have some time to chat this morning?

Monday morning, on chat, my boss asked if I were available for a 1:1 at 11:30?

New Boss: How’s it going?

Me: Great! Looking forward to the next challenge.

New Boss: I have Nicole from HR on the line.

Damn it.

You never want to hear that. It’s always bad news.

My position was being eliminated. My last day was going to be Friday. I needed to ship all Coverity equipment back to them by then. I had no other deliverables that I needed to finish for the week, so I should write whatever documentation I could during the week.


New Boss: I have put in a recommendation for you for Client Services. I think you would be a good fit.

New Boss called me on Tuesday morning. Told me that he thought I would make a great Client Services engineer. These people go to customer sites, install our software, get it up and running, possible writing software to help them out. It’s 50-75% travel, but the pay scale is similar. He said he would put me in touch with somebody from that department.

Later that morning, we had our weekly team meeting, where New Boss told the rest of the team what had happened. They were shocked, naturally. New Boss then proceeded to vent his anger at upper management, and make some pretty biting and cynical remarks about the company. And then the meeting proceeded as normal.

Me: Could you stay on the line for a few minutes.

New Boss: Sure. What’s up?

Me: You need to stop that. You need to stop trashing the company and your management for this decision. The team needs you to be a grownup here. And if the company finds out anything about that tirade you went on, your own career is in jeopardy. I’m already gone. You can’t change it. You already tried. You need to move on, so your team can move on. Go take care of yourself and your team and make my stock options worth something.

The Client Services manager I was to talk to also lived in Austin, but he wasn’t available until after my termination date. “I’ll talk to HR”, he wrote me in email.

HR contacted me. They were willing to extend my termination date by one month, reducing my severance by the same period so I could explore this opportunity with Services. Hooray. Now I got an extra month of health benefits, COBRA, and stock option vesting!

The manager and I met at a Starbucks in Bee Cave, a suburb near my house and on the way to where he lived. We talked for about an hour. We talked about the travel, about the need for social skills, and about the technology needed to do the work.

Client Services Manager: I just don’t think you have the technology skills I need, and I don’t have anybody who could train you right now.

Happy Easter to me.

One year later:

Former Coworker on chat:  The overseas person who they were going to have do your work quit six weeks after you left. So that worked out. Everybody thinks you quit because of your farewell mail. They have no idea you were laid off.

Me: Good. I did not say I quit in the email. However, I needed this to be seen as professional and part of life. The tech community is small, and I have no way of knowing if I will ever work with any of these people again. I can’t be seen as hostile. You take care.


Hewlett-Packard 2011

I worked on a large complex product at Coverity. The VP of Engineering made a lot of promises about schedule and feature set that were impossible, and the team was put through a death march to try to meet the obligations.

Despite that atmosphere, the management team of the product came together and worked well together. My boss was overall manager of the product. He had hire a good project manager. The QA lead who reported to me was excellent. The software engineering lead was friendly and realistic, despite getting beat up constantly because of the VP’s promises.

The product eventually turned into something fantastic and to be proud of, just a year+ later than the VP originally promised.

Right about the time the product was ready, my boss, the project manager, and my QA lead all quit and went to Hewlett-Packard. I did not know anything else about it; by then I was no longer a manager, and I was doing automation work not connected to the big product.

I went into San Francisco for one of my regular visits, and the project manager got it touch and asked if we could get a drink. So I met him for a beer.

“Nick*, John*, and I would love it if you could come work with us at HP. We are building out a system, and we think your talents are well-suited to some work we need done. You would have a good budget, and you could stay remote. What do you think?”

“Well, first of all, thanks.” I stopped and took a few sips of beer.

“I just got my best performance review at Coverity. And a large bonus. Things are going really well.

“I also don’t hear good things about HP very often,” I said, drinking another sip.

He replied, “Our group is great. I like our management chain; we have Product Management buy in, and customers lined up.”

I thought about how to say what I was thinking.

“I like you. I like Nick. I like John. We did some good work together at Coverity. And I would like working with y’all again. But I am in a good place, and I just don’t like what I have read and heard about HP, both from the outside and from people I know who work or have worked there. I think I am going to have to pass.”

“Well, I certainly understand, but if you change your mind, you know how to get in touch…”

Later, his group ended up in HP Enterprise. And even later, they all went elsewhere. I think I made the correct call here.

* Not their real names

Learning iPad Programming by Turner/Harrington

Rice University – 2012

I had been working fairly successfully at Coverity for a few years, and no other opportunities came along. I had moved back to an individual contributor role, as remote management was just not working out. However, I had been doing good, interesting work in automation.

But I wasn’t particularly happy in my work.

Early in 2012, a friend of mine who worked in the Rice Computer Science Department got in touch with me to ask if I were interested in giving a little talk to current students in the department. They liked having people from industry give students perspectives they would not get from school. Also, I could get some time if anybody were interested in applying to Coverity. Coverity tended to focus on California schools, so it did not have any recruiting apparatus in Texas, so it would just be me. Hey, it got my gas from Austin to Houston and back paid for.

I presented my sitting down on a table in the front of the room and talked. I gave an overview of my career, and talked about what I was doing at the time. I talked for about 35 minutes, and then took questions. I got several questions about interview processes, day-to-day work life, work-life balance, how much actual computer science theory I used in everyday work, etc. Nothing too strange.

At the end of the presentation, several professors came up to me and congratulated me. They had started this series of alumni talking to students a few years previously, and they told me that mine had a few firsts:

  • I was the first not to use a PowerPoint presentation.
  • I was the first to ever have questions at the end.

I guess I did OK. Nobody talked to me about working at Coverity, though. Oh, well.

The friend who had contacted me could not go to the talk, but he came by at the end, and we went off and got something at the student run coffee house (man, it would have ROCKED to have that in 1988!), and then went back to his office, chatting about work and Rice and stuff, and gossiping about common friends.

When we got back to his office, he had three Amazon boxes on his chair. He opened them; they were all books that people had sent him for free to read and possibly review and recommend to his students. One of them, he was not at all interested in, and he held it up for me to see:

Learning iPad Programming by Turner/Harrington
I wonder what the latest edition of this book is…

I said, “I’ll take it”.

I left Apple in 2006. Steve Jobs announced iPhone in January, 2007. Apple opened the App Store in 2008. I was intrigued. I was also employed, and had two small children, and had almost no spare time to dig into this new world. I was really fascinated by what could be done.

The iPad came out in 2010. I bought one for my music; I used it instead of a bunch of pieces of paper on my music stand. It could hold everything I needed, and was big enough to read. Combine with a very expensive foot pedal that could turn pages, it’s been a big hit.

Stock iPad Photo
Look! A stock iPad photo!

I had not been truly happy in my jobs since Red Hat had purchased Cygnus in 2000. As a reflected on everything that had happened the previous dozen years, I realized a few things:

  • I did not really like QA or automation very much. I would rather be part of the software creative process.
  • I was pretty good at managing a team (maybe).
  • I was not good at the other things a manager had to do. I was not particularly adept at strategy. I was arrogant at times, and would tick off upper management on a fairly regular basis.
  • I was kind of at a software mid-life crisis (the real mid-life crisis had come and gone. Hopefully!)

I took home this book, and started paging through it, and decided that I really wanted to give software development another chance. And this was going to be the start. I started spending all of my spare time working through this book, typing in code, and seeing how it worked.

Starting over at 48. Scary. At least I still had a good job.