The Unicorn Project Read online

Page 9


  She wonders for a moment whether she has lost all sense of perspective. But after being stuck inside the Phoenix Project, having someone actually care about what she needs is … so unexpected and so utterly appreciated.

  Maxine is reminded of when she and her family volunteered for a day to help new refugee families. She remembers how her then ten- and eight-year-old kids reacted when families cried when they were given food, soap, and laundry detergent.

  There is nothing so rewarding as providing something to someone who really needs your help. She needed help and she received it.

  Elated, Maxine flips through the document. She sees a long list of Windows registry keys that need to be set. “Don’t worry, Maxine,” Kurt says, politely ignoring her emotional reaction. “You have the electronic version of this in your inbox, so you can copy and paste everything.”

  With a twinkle in his eye, he adds, “And there’s a link to a wiki page where you can incorporate any notes if we missed something. There’s a bunch of people who really appreciate your work. We’ve been trying to crack the Phoenix build puzzle for months! But we’ve never been able to work on this full-time. Your notes helped us put all the pieces together. This saved us months of work!”

  Maxine’s brow furrows. She has no idea what Kurt is talking about, but she doesn’t even care. “Thank you so much! I can’t tell you how much this means to me. How can I ever repay you for this?”

  “Anything to help another hard-working engineer trying to help other engineers be productive,” Kurt says, laughing. But with a serious look on his face, he adds, “If you want to meet the people who made all this happen, despite considerable adversity and huge obstacles that typically prevent feats of greatness like this, come to the Dockside Bar tonight at five. We meet there on Thursdays.”

  “Wait, hang on a second,” Maxine says, suddenly suspicious. “If this all works, how come everyone isn’t using it?”

  “That is a great question, with some very surprising answers,” Kurt says. “The short version is the ‘official build team’ hasn’t exactly authorized these. They seem to view our efforts as a nuisance, or worse, as competition. Which, on the eve of the biggest and potentially most risky application launch in the history of the company, sure does seem odd, doesn’t it?

  “But by all means, if you like what we’ve done, feel free to share it with anyone who needs it. I can explain more tonight. Please, try to join us at five—there’s a bunch of people who are dying to meet you!” he says. “And good luck with the build!”

  Maxine opens up a terminal window on her laptop and starts following the instructions Kurt gave her. Her excitement grows when she realizes that this might be an actual, working Dev environment.

  She’s exuberant when she’s able to log in and type “make” on a command line, which starts streaming screenfuls of happy output onto her screen.

  She’s delighted as she sees files getting compiled, binaries getting linked, programs being copied, build tools being installed and run … the output keeps going, and going, and going …

  Amazingly, things are still building for ten more minutes … fifteen minutes … thirty minutes … she’s relieved as it keeps going without an error, but starts to become alarmed at the size of the Phoenix build. It’s huge.

  Forty-five minutes later, she can’t hold off going to the bathroom any longer; she was too afraid she was going to miss something if she stepped away. She hurries there and back and is relieved to see that the build hasn’t failed, still generating endless output in her terminal window.

  She scrolls through the history to see if she missed anything interesting. She decides to skip the next release team meeting just so she can watch the continuing build, which seems a bit irresponsible, but she knows that having a great build process is key to having a good code deployment and release process. And maybe with the help of these mysterious benefactors, she’s on the verge of finally conquering the Phoenix build.

  The build output is hypnotic and educational, because she’s seeing some components of Phoenix for the first time. There’s Java JAR files, .NET binaries, Python and Ruby scripts, and lots and lots of bash scripts.

  Wait, is that a remote shell and installer that popped up? Before she can figure out what it is, the window is gone. Maxine’s awe and concern at the size and variety of Phoenix continues to grow.

  She’s about to scroll back further when she sees Eclipse being downloaded from somewhere. What in the world? she thinks. Twenty minutes later, she could have sworn that she saw an InstallShield installer, but she knows she’s getting tired and might be imagining things.

  Honestly, after another hour of watching build output, she’s having trouble staying focused on the screen. But she can definitely see the different personalities and tech stacks of the different teams working on Phoenix. She had no idea there were so many.

  This is crazy, she thinks. There can’t be this many teams working on Phoenix, right? And she wonders how any one person could possibly understand the system as a whole, especially when it’s built from so many different technology stacks.

  Maxine isn’t usually a fan of rigid standardization, but she’s not a fan of everyone getting to choose whatever they fancy in the moment. Each decision is a commitment to support it for years or even decades—these are decisions that go far beyond just one team.

  Like most developers, she’s very superstitious that if she stops watching the build, it will fail. Finally, nearly three hours after she started the build, she sees the scrolling output from her build window stop. Her heart falls when she reads:

  builder: ERROR: missing file: credentials.yaml

  Damn! She’s guessing that she needs a login credential that she doesn’t have.

  She texts Kurt and he quickly replies:

  Ah, yes. For that you need to open a ticket to get your login tied to your ActiveDirectory account. Only Susan can issue those. Contact info coming.

  Instead of emailing Susan, Maxine goes to Susan’s desk and learns that this missing file contains a cryptographic certificate that comes from some distant security group. Susan searches through years of emails to find how to get a new one. When she finds it, Maxine takes a picture of the email address with her phone.

  She is so close to getting a Phoenix build going!

  CHAPTER 5

  • Thursday, September 11

  Still on a high after getting so far on the Phoenix build, Maxine hops in her car to make the five-minute drive to the Dockside parking lot, right on time for Kurt’s mysterious meeting.

  She suspects that the shiny new Lexus IS300 in the parking lot is Kurt’s. She doubts it’s the Datsun 300 she parked next to. It’s surprising that the meeting is at Dockside. It’s not one of the usual hangouts for technology people, but she knows it’s a longtime favorite for many of the factory workers.

  Maxine asked some people about Kurt that afternoon. Three people gave her enthusiastic endorsements, describing how competent and helpful he was. One development manager in her old group called him one of the smartest people in the entire technology organization. Curiously, one of her colleagues texted her:

  Kurt? He’s not the sharpest knife in the drawer, which is why he’s stuck in QA. He’s also really nosy. Why do you ask?

  This made Maxine even more curious. What exactly is Kurt up to? His gift of the binder probably saved her months of waiting. But what is his motivation? He clearly has an inside track on getting things people need. She’s pretty sure he isn’t pilfering corporate resources—and even if he was, why would he give them to her?

  As she walks in the door, she’s immediately hit by the smell of hops. She hasn’t been here in years. She’s relieved to see that it’s much cleaner and brighter than she remembers. There’s no longer sawdust on the floor, and it’s more spacious than it seems from the outside.

  The bar is half-full, but it’s loud—maybe because of the cleanly swept cement floor.

  Seeing her, Kurt smiles and waves her over
to a group of tables on the far side of the room by some booths. “Hey, everyone, meet Maxine, the newest member of the Rebellion if I can help it. She’s the person that I’ve been telling you all about.”

  She immediately recognizes the cranky developer who backed her up in the Phoenix status meeting about environments and is startled to see the petite woman named Shannon who was with John earlier today. There’s another man in his late thirties sitting next to someone who looks out of place—he’s in his fifties and wearing a bowling shirt. Next to him is Brent, who she also saw in the Phoenix release meeting. He and Shannon are the youngest people at the table.

  Everyone has an open laptop in front of them. Suddenly, she wishes she had hers with her—she’d gotten out of the habit of carrying it around lately because she’s had so little to work on.

  “You remember Dave?” says Kurt, gesturing at the cranky developer. “He’s one of the Dev team leads. He complains a lot, but he’s probably banging the drum loudest on the need to pay down technical debt and modernize our architecture, platforms, and practices.”

  Kurt laughs. “The reason Dave is so good is that he never asks for permission!”

  Cranky Dave raises his glass at Maxine with the smallest of smiles, as if smiling causes him physical pain, then takes a sip of his beer. Up close, he looks older than her. “Breaking the rules is the only way anyone can get anything done around here,” he grumbles. “Can’t do anything without twenty meetings.” Cranky Dave pauses. “You know, that’s the best compliment Kurt has ever given me. You’ve probably noticed that he’s running his own black market inside the company, right?”

  Kurt laughs, clearly not bothered by the characterization. “I’m just trying to solve people’s problems. If I’m guilty of anything, it’s that I care too much about the success of Phoenix, and even the whole company, to allow bureaucracy to kill it! And if that’s a crime, I plead guilty! It’s a pity no one will ever give us a medal for the great work we do. The satisfaction of helping people must be reward enough, right?”

  Everyone groans, and someone from across the table hollers out, “Good one, Kurt.”

  Ignoring the banter, Kurt points to the man in his late thirties who is wearing a funny vendor T-shirt. “This is Adam, one of my test engineers. But don’t let his title fool you—he’s a developer at heart, and he’s also one of the best infrastructure people I’ve ever met.

  “You can thank him for the all those virtual machines and pre-built containers you got—he built them all. And that’s only a fraction of what Adam does. His day job is helping automate a big chunk of the legacy test suite that we inherited from an outsourcer.”

  Adam smiles sheepishly. “Actually, Brent over there did most of the work,” he says. “He’s an ace at infrastructure. We’ve been working together to try to automate environment creation for over a year. It’s been a tough road, working evenings and weekends, because it’s not officially sanctioned. Despite all the dead ends and cul-de-sacs, we’re proud of what we’ve been able to achieve.

  “Your build notes were awesome, Maxine. Brent here almost fell over and died when he was reading through them. He’d been trying to piece that together for months,” Adam says.

  Brent smiles at Maxine. “That was amazing detective work, Maxine. Documenting all those environment variables was so helpful!”

  “Let us know how the environment works for you,” Adam continues. “It’s such a pain to get things from Operations through normal channels, so we scraped together enough hardware to build a cluster big enough to support a couple of teams. Now you can get an environment on demand, without needing to open up a ticket.”

  Maxine blurts out, “Wow, thank you so much. The environment worked! I got three hours into the Phoenix build with it until it failed because of a missing certificate.”

  “Wow! That’s amazing,” Brent says.

  “So where did all that hardware come from if not from Operations?” Maxine asks.

  Adam smirks. “Kurt has his ways—a little from here, a little from there, you know? Kurt keeps saying that it’s best not to ask where it comes from … I’ve always suspected there are a bunch of people missing entire server clusters if they’d bother to check.”

  Kurt feigns a hurt expression. “Server-hoarding is a huge problem,” he says. “Because it takes so long for Ops to get anything to us, people always ask for way more than they need. And that makes Ops’ job harder and lengthens the lead times for everyone else, making the shortages even worse! It’s like being in the old Soviet Union, where you have to wait in line for everything. You could say we’re creating a secondary market to ensure that some of those unused environments go where they’re needed most. You know, to ameliorate the mismatch between supply and demand,” he says.

  Cranky Dave mutters, “Don’t get him started,” rolling his eyes as Kurt lectures like a professor.

  Adam adds, “But Dave is right—Kurt is running a black market.”

  “Pay no attention to them, Maxine,” Kurt continues. “Next down the table, we have Shannon, a security engineer who works on building automated security tools. She spent nearly five years in the data warehouse team before that. She’s currently working with Brent, experimenting with some machine-learning and data visualization toolkits and standing up some big data infrastructure, trying to get ahead of some of the marketing initiatives that we know are coming. You probably remember her from the full-scale red-team exercises that she ran last year.”

  Maxine smiles. That’s why she looked so familiar. She definitely remembers—it was the first time she had been the target of a no-holds-barred penetration test. They had tried to plant malware by getting physical access to the manufacturing facilities, sending emails with malicious links, pretending to be company executives, and, in one case, one of their most critical vendors.

  She had been very impressed. It takes a lot of balls to run those types of exercises, she thinks. Maxine remembers one person being fired for trying to do one because he made a bunch of people look bad.

  Shannon looks up from her laptop and says, “Nice meeting you, Maxine. I remember your group. You were one of the best-prepared in the whole company. I was very impressed that everyone in your division knew not to click on links in emails, no matter how official they looked. Someone did a great job training everyone.”

  Maxine nods with respect, saying, “Nice meeting you, Shannon. We spent weeks fixing the problems you all found. Nice work.”

  Shannon looks back down at her laptop and types something. Suddenly, she looks up at everyone and says, “Oh, by the way, sorry about that episode with John. He’s such a tool. But he’s my boss.”

  Everyone laughs, and several people imitate Shannon’s expression from earlier today.

  “Up next is the aforementioned Brent, who has his hands in everything infrastructure related,” Kurt continues. “If it connects to AC power, Brent has probably mastered it. Networks, storage, compute, databases. But he’s not just good with a screwdriver, he’s always on the frontier of automation. Unfortunately, he’s so good at what he does, everyone seems to have him on speed-dial. And he’s on pager duty way too often, which we’re trying to fix.”

  Brent merely shrugs his shoulders. Suddenly, the camera flash on his phone flickers and notifications flood his screen. He picks up his phone and mutters, “Dammit, another outage call. I probably need to jump on this.” He drains the rest of his beer and starts dialing his phone.

  “Yeah, that’s a real problem,” says Kurt, watching Brent walk away. “We’ve got to bring some sanity to his work life. He’s brilliant, but because of the way people dump things on him, he hasn’t been able to go on vacation without a pager for years …”

  He pauses. “In the meantime, last but not least is Dwayne,” says Kurt, gesturing to the oldest person at the table. He’s not only dressed differently than everyone, his laptop is different too—it’s a beast with a massive screen. “He’s a senior database and storage engineer from Ops and w
as the person who brought Brent into this group. They conspire all the time to find better ways to manage infrastructure.”

  Maxine smiles. To most people on the Phoenix Project, centralized Ops are merely the people on the other side of a ticket. They’re the people everyone is always complaining about. But clearly Kurt and this motley crew have a different way of working, bypassing the normal organizational lines of communication, however informal.

  Dwayne reaches across the table, extending his hand. “Great to meet you, Maxine.”

  Maxine realizes that Dwayne is wearing an actual bowling shirt, complete with his initials sewn on it, “DM,” and a faded mustard stain right next to them.

  “Dwayne has been trying to get automation initiatives going for years, but he and Brent always get shot down,” Kurt continues. “So, they’ve been helping Adam build up our own infrastructure instead. He knows almost everyone in Operations, and he can usually get them to do anything. Like earlier this week when we needed a firewall port opened between two internal networks. Dwayne made that happen.”

  “All in a day’s work,” Dwayne says with a friendly smile. “But to be fair, Kurt is really the master of getting the impossible done … I’m just learning from him!”

  Maxine is certain Dwayne is exaggerating. Dwayne looks like he’s in his mid-fifties. Just how much could he learn from a young guy like Kurt?

  Kurt leans back in his chair, arms spread out. “Maxine, your work cracking the code of the Phoenix builds has impressed us all. We are in awe of the technical and social skills you displayed to successfully hunt down almost all the pieces of the environment, which required incredible perseverance, focus, and never taking ‘no’ for an answer!”

  Confused, Maxine looks around, but she sees everyone nodding at her, genuinely impressed at her work. Kurt continues, “We invite you to be a part of the inner-circle of the ‘Rebellion.’ We’re recruiting the best and brightest engineers in the organization, training and preparing in secret for the right time to overthrow the Empire, the ancient, powerful, and unjust order that definitely needs to be toppled.”