Adam was staring at a locked, unmarked door. It was supposed to be his first day on his new consulting job, and his new boss was supposed to meet him in the lobby at 10:30. According to Adam’s phone, it was 11:15. Adam started thinking back to the questionable interview, and was wondering if this job actually existed when Doug, his new boss, burst through the door to greet him.
“Hey, Adam!” Doug clapped him on the shoulder and steered him past the door. “Sorry I’m late, I was stuck in a meeting. But hey! We were just talking about you! This hockey project is way behind, so we need you to lace up your skates and make things right!”
Adam’s main reason for taking this job was that it would allow him to have a hand in creating the official mobile app for his beloved Metro City WTFers hockey team. He couldn’t wait to brag to all his hockey-nut buddies about creating the app they used to keep up with all things WTFers.
Doug presented him with a special consultant badge and led him into the fray. The hockey team’s app was behind, it was late in the third period, and management was signaling to pull the goalie. Adam was to hit the ice as the extra attacker to score the multi-platform support goal at the horn.
The plan was to support any mobile operating system and any device. To this point, they only had one device supported: the iPhone 3 on iOS5. Adam dropped the gloves to slug it out with the rest of the devices to save the project. He wanted the WTFers app to be awesome, so he gave it his all, and relied on the rest of the team to help him out.
Then he encountered the QA team.
QA was in control of development and release. If they didn’t give their stamp of approval to something, it didn’t get released. Unfortunately, they didn’t document their test cases, so getting them to approve something was next to impossible. Worse, they used a home-grown, archaic automated testing system that no one understood. Changes like changing the screen position of a button by 3px might be enough to break a test- or it might have no impact at all. If any code made so much as one test case fail, QA would have a fit and purge the offending changes from source control. Adam had to keep a local copy of his work so his changes weren’t lost in their reversion frenzy.
It took several weeks, but Adam skated circles around the QA team’s defense and wound up to unleash a wicked slapshot into the net of mobile app stores everywhere, but the QA team had one last goon, ready to deliver a cross-check to the spine to make Adam’s life difficult: the Compiler.
The Compiler was the homegrown brainchild of Jason, the QA director. Like their test platform, it was a monster that no one understood. It was similar to
make, if Stuart Feldman had gone headfirst into the boards before implementing it. “We will not,” Jason said, “release anything that cannot pass the Compiler’s gauntlet. I built this tool, so I know that if it compiles here, it will work perfectly when released. You’ll need to learn to love it.”
There was a 0% chance that Adam would love the Compiler, but he had no choice. The Compiler needed a listing of every single source file, entered by hand (no lazy globs or IDE project files were allowed). Each reference and dependency had to be entered, each time a build was executed. A single typo wouldn’t be discovered until the end of the Compiler’s workflow, at which point Adam had to start all over again.
Adam spent several late nights in the office, subduing the Compiler. When he finally obtained the Compiler’s acceptance, he shoved the build over to Jason’s team. “See,” Jason said, “that wasn’t so hard, now was it?” Adam fantasized about pulling Jason’s shirt over his head and pummeling him mercilessly.
All the pain was worth it: the Metro City WTFers app was ready to launch. As it hit the app stores, Adam texted his hockey buddies and told them to download it. Unanimously, they told him it crashed upon loading. He downloaded it to his device and confirmed that it went head-first into the boards on launch. Something was terribly wrong.
Adam went to Jason and told him what was happening. “Well, I’m not surprised,” Jason said, rolling his eyes. “Just the fact that it was so hard for your code to pass the Compiler means it couldn’t have been very good. You took so long getting this thing through the Compiler that we didn’t have any time to test it.”
Before this conversation could come to blows, Doug came in as a referee, and separated the two of them. Instead of hearing them out, Doug sided with the home team and gave Adam the penalty. “Adam, you are in the wrong on this,” Doug said. “If you can’t learn to work with the tools we have, we can’t have you as part of our team. Consider your time here done. Jason, I trust you to make the most of this mess and get it fixed.”
Adam was relieved that his contract was over. A few days later, he downloaded the update to the WTFers app. It actually launched, at least, but nothing else worked. A few more updates and it could display standings and news, even if nothing sorted correctly. The team logo was a big red X, and the only game score it could actually pull up was from 1998. Adam told his hockey buddies that if they wanted to follow the WTFers, they should do it the old fashioned way: grab a newspaper.
Image from Slap Shot(1977)