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

With a start, he sat up straight and decided he could definitely spend a few minutes looking into the request. He eagerly put his fingers on the keyboard and starting searching. When his first Avogadro search for ‘email to web service’ within seconds turned up an existing design posted by some IBM guys, his excitement grew. After reading through the design, he realized he could implement it all in a couple of hours.

His other work forgotten, Pete started in on the project. He used the existing Internal Tools servers, and created a new Ruby on Rails web application that converted web pages to emails, and emails into web page form submissions. It was easier than expected, and by lunch he had a simple prototype running.

He tried the prototype on the Internal Tools Request tool, and discovered some bugs. Puzzling over the details in his head, he mindlessly rushed down the hall to the coffee station for a refill.

* * *

Mike left his office, nodded to a few teammates he passed, and headed downstairs for the nearest outside door. After banging his head against the same problem for two hours and becoming increasingly frustrated, he needed to clear his mind and get a fresh perspective. The damn performance issues were becoming the insurmountable obstacle.

Once outside, Mike wandered around Avogadro’s South Plaza, an open amphitheater and park. Just one of the many perks that Avogadro employed to keep their everyone happy. The ground was wet from early morning rains, but the sky was blissfully clear now. He waved to a couple of engineers he knew that he saw jogging.

He thought back to his discovery. What he found that morning was even more puzzling than the issues he expected to run into.

Mike thought about the two distinct parts of the ELOPe system. The part that users saw, of course, was the front-end process that ran in real-time to evaluate emails that were being written by users and to offer suggested improvements. The piece that was troubling Mike was the other half, the backend process that analyzed historical emails to generate the language analysis and recommendation clusters.

While the performance of ELOPe was horrible by anyone’s measure, at least it was predictably horrible. In the course of attempting to improve the efficiency over the past months, Mike learned that each new email fed into ELOPe required roughly the same number of processor cycles to process the data.

This morning, nothing was predictable. According to the system logs, nobody was using ELOPe last night, and yet the load metrics were pegged — a sure indication that a ton of computer processing time was being spent on something. But what? ELOPe was in closed prototype mode. Mike knew that only the members of the development team had access. That meant software coders, interaction designers, and the linguistics experts particular to their project. Everyone’s activities were logged. Yet the someone or something was consuming processing resources, while the logs didn’t indicate any activity.

Mike hoped the fresh air and a walk around the Plaza would help him figure out the problem. The last thing he needed was additional performance problems when what they were looking for was a massive improvement in performance. He sat on the amphitheater steps, and rested his head on his hands. He watched another set of joggers go by. For someone who prided himself on taking things easy, the world was sure weighing heavy on his shoulders right now.

Chapter 4

Pete Wong was damn proud of himself. In less than a day he had successfully implemented a working email to web bridge. Well, maybe implemented was a strong word. He had cut and pasted code from a dozen different websites, and wrapped it all up with some virtual duct tape. It was a real kludge that he wouldn’t want to show off in a coding style contest. On the other hand, it worked, by golly! He tested it against the Internal Tools web service, the Procurement web application, and have a dozen other web sites. It seemed to work for everything.

He drummed his thumbs excitedly against the desk. Using off the shelf libraries that other people had written for Ruby on Rails, his favorite programming environment, he had been able to glue together the relevant pieces quickly. The ability to do in hours what would have once taken weeks in an old language like Java was the magic of modern programming environments like Ruby. It was easy to understand why startups built products in a weekend now and were launched on shoestring budgets when they had such powerful tools. He wondered for the hundredth time if he shouldn’t leave Avogadro to go start his own company.

Pete pulled his keyboard closer and wrote an email to John Anderson, the guy in Procurement who had requested the email bridge. In a bold move, he cc:’ed Sean Leonov, just so that he could see exactly who it was in the Internal Tools department that had implemented it. Pete explained in the email what he had implemented, and how to use it. By the time he was done, he had written five pages of detailed instructions. Perhaps it was a little more complicated than the guys in sales could cope with. Pete didn’t know any guys in sales, but he didn’t think that they would be very technically adept. Well, at least what he had provided was complete, even if it was a little rough around the user interface edges.

He hit send on the email, then sat back in his chair and sipped his coffee. He basked in the glow of his accomplishment, an ear to ear grin on his face. He had good kung fu.

Pete wondered who he could brag to about his achievement, when it suddenly hit him that perhaps there was something a little irregular about what he had done. He sat forward, and let his cup thump onto his desk as it dawned on him that he had forgotten to mention to the rest of his own team what he was planning to do. This request should have come through the normal process like everything else. Not only that, but it also should have been subject to a peer review by his team members before he implemented anything, and certainly before he deployed code. He had been so concerned with impressing Sean Leonov that he didn’t stop to think about the usual process for doing this. Well, no one could really blame him for taking some initiative.

Despite this, some bigger issue was nagging him. What was it? Suddenly, he jumped out of his seat. Shit, he had just implemented an off the radar system that could interface with a dozen different business critical web services inside the company. He had probably violated all sorts of security policies. Not probably, he definitely had. It suddenly felt really hot in his cramped office.

Then just as quickly as he became alarmed, he relaxed a little and sat down. If Sean Leonov had thought the Internal IT team could implement the request within twenty-four hours, he clearly meant that they should pull out all the stops. Pete couldn’t very well go back to pull the application down off the servers now that he had told John Anderson and Sean Leonov it was available. He shook his head. He was worried about nothing. The system was secure. His tool relied on email credentials to validate user logons for websites, and if any product in the company was secure, clearly AvoMail was secure.

If he told his boss and the rest of his team, he would undoubtably get his wrist slapped. The best course of action would be to just not mention it until he had gotten some kind of email kudos from Sean. Once he showed that to the team, any skipping of due process would be easily forgiven. With a plan in place, one in which he didn’t take too much heat, he relaxed a little.

Just then, he heard a ruckus coming down the hall, rapidly getting closer. He grew alarmed. Had they already found out what he’d done? Then a group of his coworkers passed by his open office door. A few seconds later, the Internal IT technical lead stuck his balding head in Pete’s doorway and said, “We just heard a hot tip that the billiard room has shown up on the fourth floor of Building Two. Want to come help look for it?”