The Speed-up Loop was originally published on January 24th, 2008.
"So what do you think about the opportunity," Ben's recruiting agent asked. He thought about it for a few moments. It wasn't exactly what he was looking for, but then again, he had been out of work since November of 1989 – nearly three whole months – and figured he should probably get back in to the swing of things. He told the recruiter that he'd like to talk to the client and asked to schedule an interview for the following week.
Fortunately, Ben had not only showered that day, but was clean-shaven. He agreed to the same-day interview and, two short hours later, Ben arrived at their offices to meet with Wayne, the lead developer.
Wayne cut him off. "Okay, so have you done worked with inline assembly before?
As Ben launched into the typical, early 1990's multi-task programming spiel, he noticed that Wayne had shifted his attention to his notepad. Making occasional "uh huh" affirmations, Wayne started scribbling a few notes.
"Sounds good," Wayne interrupted yet again. "Now take a look at this code. Tell me what's wrong with it." Wayne tossed the notepad over with the following hand-written C-code.
That wasn't quite the 80/20 rule that Ben was familiar with, but he figured, to each his own. After going over a few other "rules" of the programming department, Wayne went on to explain what they needed Ben to work on.
It was a fairly-boring logistics application that ran in the company's home-built MTWS, or Multi-Tasking Windowing System. Although Microsoft's Windows 2.11 had been on the market for a little while, no one at the company seemed to trust it, which is why they built their own.
Wayne was the designer and primary coder of MTWS. It was a DOS-based Window manager that used ANSI graphics to draw "windows". Each window could house one of four different applications (one of which Ben would be responsible for maintaining), and actually allowed dragging, resizing, and inter-window communications.
After giving a brief tour of the MTWS and the logistics application, Ben left for the day and arrived early the next morning to get started. The next few days were rather uneventful. As were the next few weeks. And the next few months.
Under Wayne's direction, Ben would spend about an hour each day doing maintenance or other small changes to his assigned application, and the other seven hours avoiding maintenance or, really, any other type of work.
It appeared that the loop would run whenever the screen was updated. He double checked. It did, in fact, run on every screen update.
Figuring that he found a bug or a vestigial piece of code, Ben asked Wayne what he should do.
Ben shook his head, trying to figure out how he missed that it was yet another work-avoidance technique.