Выбрать главу

As he crossed the second floor bridge back to the R&D building, Mike stopped smiling when he thought about telling David about the conversation. He wasn’t going to be happy to hear Gary’s ultimatum.

Their recommendation algorithm, which sounded so simple when David explained it to a nontechnical person, depended on crunching vast quantities of data. Every email thread had to be analyzed and correlated with millions of other emails. Unlike movie recommendation algorithms, which could be analyzed and clustered using less than a hundred characteristics, it was orders of magnitude more complex to do the analysis on emails. It took them a thousand times more computation time, memory, and all important database access. Coming out of that meeting, there was no doubt that Gary had reached the limit of what he was going to allow their team to use.

Unfortunately, Mike had lied to Gary. Mike shrugged, uncomfortable with himself. When had it become necessary to lie in his job? He didn’t like it. The reality was that he, David and other members of the team had been working for months trying to make their algorithm more efficient. Sadly, the current server-consuming behemoth was the best that they could do. No matter what they did, there weren’t going to be any more efficiency gains. Therefore, there was simply no way to meet Gary’s ultimatum.

Nope, David was not going to be happy. Mike sighed. Unlike Mike, who usually took it all in stride, whether good or bad, David would get seriously upset.

* * *

A busy morning kept Mike hopping from one urgent issue to the next despite wanting desperately to talk to David. It wasn’t until hours later that Mike freed up. He ran into David’s office before anything else could interrupt either of them.

“Got a minute?” Mike asked in a cautious tone.

“Of course.”

Like his own office next door, David’s office had room for three or four guests, as long as everyone was friendly and had used deodorant. A big whiteboard for collaboration spanned the wall behind Mike, and north facing windows held a view of heavily wooded Forest Park. Mike was sure the six month old office setup was less effective for working together than last year’s setup when everyone on the team was located in one big open space, but Mike enjoyed the change. Besides, it would all be different again next year.

Mike recounted the meeting with Gary Mitchell, and saw David getting angry just listening to the story. “So then he kicked me out of his office without a chance to say anything else,” he concluded. “Besides, what else could I really say? You know there aren’t any efficiency improvements we can reasonably expect.”

David sat at his desk, fingers steepled, staring into his darkened monitor. He hadn’t moved or said anything for the last minute. Mike knew that was always a bad sign. Tux the penguin, the Linux mascot, wobbled over David’s monitor in the ventilation system breeze. Mike remembered when Christine had bought the penguin for David after one of their first dates.

“So two weeks. What do you want to do?” Mike prompted, after a minute of this painful silence.

“Let’s pare down the number of people we have working on fixes and algorithm improvements,” David finally said, clearly having reached some internal conclusion. “How many people can you put full-time on performance?”

“I’ll focus full time on it,” Mike volunteered, starting to count off on his fingers. “Certainly Melanie,” he added, referring to one of their senior software engineers. “Figure two or three other folks. Probably five in all. David,” he paused to look him square in the eyes, “we’re not going to make any improvements.”

“Alright, starting with the five of you, get focused on it full time,” David said, ignoring Mike’s protest. “After we hit our next release milestone on Thursday, we’ll see where we stand.”

Mike sighed and left the office.

Chapter 2

“How’s it going?” David asked, coming into Mike’s office a few days later, and taking a perch on the windowsill.

“Excellent,” Mike replied, looking up from his screen. “Everyone on the team has finished their tasks for the iteration, code is checked in, and the integration tests are running. We should know in a few minutes if everything passed.”

“No, no, on the performance front?” David said, frustrated. He crumpled up a sticky note and threw it into Mike’s garbage. “If we don’t have a performance gain, we’ve got bigger issues than our checkpoint.”

“I’m not expecting anything, I’m afraid,” Mike answered. He looked down, where David had missed the basket.

“You had people on it right?”

David looked out the window, ignoring the paper on the floor. Mike sighed and picked it up himself. “Yeah,” he said. “I explored a few possibilities myself, and as we planned, I had four other engineers try some performance tweaks. Everything we did either had no effect or made the performance worse. We backed out most of the changes, and kept a few of the minor tweaks. Net gain, less than one percent. I’m sorry. We’ve been banging our heads against this for months. I know you want a miracle, but it’s just not likely to happen.”

“Damn, damn, damn.” David sighed, and turned the other way to look at Mike’s whiteboard which, like his own, covered the entirety of one wall. One end was covered with a checklist of features, fixes, and enhancements planned for the current software release. Interspersed through the remainder of the whiteboard were box diagrams of the architecture, bits of code, and random ideas. David stared intensely, as though the solution to their performance problems might be found somewhere on the board.

“It’s not there, I looked,” Mike said in a depressed tone.

David grunted, admitting that Mike guessed his thoughts.

“I hope you’re not thinking of canceling the snowboarding day,” Mike said. “The team has always had a snowboarding day when we hit our release commitment on time and there’s snow on the mountain.”

David glanced out the window. December drizzle. That meant fresh snow on the mountain. Damn. This project was too important to give everyone a day to play. “We’ve got to --” He turned back to Mike, and saw Mike’s look, and trailed off mid-sentence.

“The team is expecting it,” Mike said. “Some of the guys were here until two in the morning last night getting their work done. They deserve their day off, and they’ll come back refreshed and ready to tackle the performance issues. You can’t ask people to give their all and not give them something back.”

David felt sick over his lack of control over the situation. He felt a huge pressure to meet Gary’s deadline, but he knew Mike was right. Besides, he rationalized that one day wouldn’t make a difference with a problem they’d been struggling against for six months. “Fine, but when we get back, we need everyone focused one hundred and ten percent on performance. Take everything off the backlog except performance improvements.”

* * *

David leaned over and slapped the button on the alarm clock. Then he rolled over onto his other side and looked at Christine, still sleeping. He gave her a kiss on the cheek, watched her breathe for a minute, and slid out of bed. Dressing quickly in the dark, he slipped downstairs where his duffel bag and snowboard were waiting by the door.

A few minutes later Mike pulled up quietly in his Jetta, exhaust vapors puffing out of his tailpipe in the cold morning air. David went outside, bringing his equipment and locking the front door. Wordlessly, Mike opened the trunk, and helped David get his gear loaded. David climbed into the passenger side, and smiled. In the glow of the dashboard lights, he could see that Mike already had two steaming, insulated coffee cups.