Do what you say and say what you do

I’m in a shared office at the first startup I worked for. My desk phone rings. It is the director from the larger startup that was acquiring us. He’s never called me. I’ve only briefly spoken with him at some company get-togethers. On this day, he wants to talk about a problem we were having with a signature customer, ADP. He tells me, “Vince, between ADP and you, we choose you”. And I know this meant we had already lost ADP as a customer and the only choice was whether to fire me or not.

The director once gave me a mantra about software engineering that I used for the rest of my career - “Do what you say and say what you do”.

How did we get to the “choose Vince” moment? One day our sales manager, Thomas, asked me to visit the ADP office and get our delta software installer running. Easy as pie, he said, we just needed someone more technical than our tech support person. And I was the most customer ready of the engineering staff. The thing was, I had hardly used our product as a customer. My work, like a lot of engineers, focused on isolated areas of the product.

I visited ADP, in San Ramon, and met their director who handed me off to his tech people. They showed me what was going on. Our delta imaging software was designed to look at two versions of a disk, a folder, or a file and produce an update with just the changes between the two versions. This, in theory, had tremendous promise and a few startups had been founded based on this idea. Reality, however, was much more complicated. In this case, ADP wanted the delta of their parts database. A database which allowed an insurance adjuster in the field to look up a specific replacement part for a specific car make, model, and year. They were sending out something like 30,000 CDs every month and were hoping to make the updates digital since the actual amount of change every month was relatively small. They expected our delta imaging software to help but instead it was creating a file that was almost as large as the original file.

I went back to our office and told Thomas it wasn’t going to work, databases files do not lend themselves to delta comparisons. He pushed. I told him there was a possible approach but it likely would not work. Thomas took that as a promise I could do it. He had tremendous confidence in me when he saw a possible sale. I didn’t know at the time why ADP was such a critical customer to our valuation.

I had a copy of the ADP CD and did some investigation. They told me the data was encrypted. But the documentation told me it was encoded, with Huffman encoding, a popular compression algorithm I learned in college. This led to a relatively simple approach - decode the current and new files and then take the delta with our software. It worked! With some obvious downsides. While the delta could be generated once, the application of the delta file required the target machine to decompress the car part database, apply the delta, then compress it back. This would require disk space the target computer likely didn’t have and even if it had the space, probably not the time to run the process. Technically, it worked but wasn’t a solution.

I told Thomas about the approach and the caveats. He took it as a big success. I didn’t really know ADP’s system flow end to end, so I let it be. The ADP director was skeptical, his folks had been working on a solution for years and our first approach failed. I visited ADP and hand delivered the update to his technical people. In subsequent days, they emailed me increasingly pointed questions. I could tell things weren’t going well. Then they asked for a phone call so we could discuss options.

I got on the call at 3pm and the two technicians were on the line. One of them was grilling me about the problems with the solution, the ones I mentioned earlier. His tone toward me had always been friendly and supportive, but now it was hostile and critical. In my mind, I did what I could do and had proven an update was possible if not ideal. While the call was a difficult tech conversation, it was about to become downright uncomfortable. The director was lurking on the call, his presence unknown to me until he spoke for the first time. “Vince, you told me it was working. You lied to me”. I could barely respond as I tend to shut down when confronted like this. I didn’t recall telling the director we had a solution that worked for ADP but I probably did tell him I got the delta update working. So, did I lie? I didn’t see it this way at the time, but on reflection it was a lie of omission.

Do what you say, say what you do.

PS: In early 2018 during a business trip to Redmond, a Microsoft leader arranged to have a phone call with me. On the call his tone was different with me than our normal 1:1 calls. At some point, I realized he was selling me on a job. He wanted me to take on the role of GPM. He said, “Vince, we choose you”. I was flattered and shaking at the same time it echoed the other choice made years before.

Published At
Tagged with