It wasn't Kyle's idea of a dream job, but when you have a PoliSci degree your options are either "unpaid slave labor in politics" or "parent's basement". So he leveraged the handful of CS classes he had taken as a backup, and managed to talk his way into a job. At the interview, he was shown some Java and VB code, which he was able to talk half-way intelligent about, and he discovered that he'd be working for Steve, his former Little League coach. A judicious application of communication skills and nepotism meant the interview ended with, "Can you start on Monday?"
When he arrived, he found a set of very large, very dusty binders sitting at his desk. A post-it informed him that these were some "training materials". Sharpied onto the front of the binders was a simple warning: MUMPS.
The application that this company made wasn't written in Java or VB. Oh, it has some Java and VB clients. Clients that didn't actually contain any real code. Clients that asked a MUMPS system, "At pixel (34,53), what should I render?" It was slow, clumsy, and broke more often than a highway road crew.
Kyle wasn't experienced enough to know any of this, yet. He just saw a big enterprise system and thought that this must be impressive. He also had no idea what MUMPS was, except that he hoped his vaccination was still good. "Not a lot of people know MUMPS," Steve said. "So we really don't expect you to know- just learn. We're still trying to recover from losing Darren and Sarah last year."
"They, uh, they were two of the original four founders of the company." Steve quickly changed subjects.
Darren wasn't merely one of the founders. He was the architectural "genius" behind the application. And he was responsible for Kyle's main project: figure out what the miles of Darren's GUI code actually did. This was more of a challenge than one might expect. MUMPS itself was a disease: it had a lot of short-hand- "NEW" could be written as "N", "IF" as "I", etc; variables were defined by use, not by declaration. Well written MUMPS code would be difficult to figure out, but Darren provided Kyle with an extra challenge.
Everything was named using Darren's initials and a number. Everything. Functions? "DG15", which took two parameters, "DG1" and "DG2". Darren went beyond shorthand and played keyboard golf, minimizing his keystrokes. The result was code like this:
DG18(DG1, DG2) . s DG3 = "", DG4 = "" . f s DG3 = $o(^DG43(%CC, DG1, DG2, DG3)) q:DG3 = "" . . s:$p($g(^DG43(%CC, DG1, DG2, DG3)), "|", 11)?1"DG"1. DG4 = DG4 + ^DG43(%CC, DG1, DG2, DG3) . x DG4
When Kyle found himself debating whether "D60" was intentional, or "D30" mistyped, he finally snapped. After only a few months of employment, he went to Steve. "I quit. I really- I really can't take this."
Steve calmed him down. "You've been doing great work. Really. We know what you're going through- all of us have gotten our hands into this code in the year since Darren's… unpleasantness."
Kyle couldn't imagine what would be more unpleasant than being the person who wrote that code, but Steve explained. Darren hadn't quit. He hadn't been fired. He hadn't been in a car accident. He had, however, been rounded up in a playground, with a box of condoms and a bottle of Jack, waiting to meet a nubile 13-year-old girl named Detective Joe O'Malley.
"His wife was our business manager. She was a wreck, so we took a collection around the office and paid his bail. We thought, you know, this couldn't be for real, right? We thought it must be a mistake. Turns out, the mistake was paying his bail- he jumped bail and is a fugitive. Nobody knows anything about him." Crushed by the events, Sarah moved out of state and purposefully didn't stay in touch with her old friends.
Steve made Kyle a deal. Steve would take Kyle off the Darren project and move him onto something that he actually could do. The MUMPS work would simply wait until they found a real MUMPS expert willing to work through that code for the small salary the company could afford to pay them.
Much to everyone's surprise, just such a contractor was found, not even a month later. This contractor, though, had a few conditions to his employment. First, he was located in Ciudad Juarez, Mexico, and would keep hours in tune with his local time-zone. He would only work on the Darren code and no other projects. His code would not go through any of the code review or QA steps that were normally required. And no one- no one outside of senior management was to ever contact him.
Oh, and one more thing: his name was Darren.