Sunday, November 1, 2015

#30 - 30 for thirty

Monday morning 8:30 ish and the office which usually is occupied by roughly forty people at any given time is party to only half a dozen. The bald Australian and the balding Frenchman walk through the office one direction, then through the office the other direction, round a corner and disappear. A minute or two later they round the corner back into the main area of the office and I see in the corner of my eye they're heading over to me. There's no one else near me they could possibly be heading towards.

Bald Guy:1 "Uh...I'm sorry, I met you but what's your..."

Me: "Adam"

Bald Guy: "That's right, you're a Javascript developer, right?"

I give a quick sideways look so as to appear less confident than I am because I know generally I'm perceived to be stupidly over confident regardless of my true feelings.

Me: "Yeah, that's what I'm here for."

Bald Guy: "Do you know Angular?"

Me: "I worked with it about a year and a half ago. I've brushed up since I found out I was getting this job."

Bald Guy: "There's a really important project that we need you to work on right now, are you busy with anything else."

Well if that wasn't a trick question I don't know what is. Either I say no I'm not busy and he knows that I'm a free loader or I say yes and I lie.

Me: "I'm just working on this and that but I'd be happy to help."

Bald Guy turns to Balding Guy.

Bald Guy: "See, I just got you another developer."

They about face and walk out of the office I'm in and begin poaching developers from projects in the other offices on the floor. My company has rented nearly every office on this floor of the building and in all we have populated it with nearly two hundred people, almost all of them developers.

Practically to the hour five days later...

Balding Frenchman walks through the office, "Ce est de la merde! This is not fucking happening!" He walks into his personal office.

Snarky Canadian: "He doesn't want us to see him cry."

The office is completely empty except for our little troupe of fighters, A Frenchman (Head of IT Practices) and a Canadian (Business Analyst, everyone else is a developer [dev]) whom you've already met, a Thai a Norwegian, a Nigerian and yours truly the soul holder of a USA passport amongst the bunch. Oh yes, and the Thai maid showed up at about seven but she isn't helping us to figure out the OAuth issues we're trying to overcome to deploy this app we've spent hundreds of hours on in the last five days.

The stakes.

Bald Guy was trying to be motivational and said in a brief meeting Tuesday morning with the new core team that is now up from two developers to eleven...
The Dude in Singapore is the head of Asia Pacific (for  my parent company) and he has a meeting next week with the other regional heads and he want's to show a bit of magic and this app is his magic. There were problems with the management of this project from the beginning, some of them are our fault and some of them are not but none of that matters. 
Also next week the CEO of [aforementioned parent company] will be at the meeting, he makes decisions about what happens to 1.7 trillion dollars of [the parent companies] money2. He controls more money than most countries so this isn't some sort of joke pressure, this is what we're dealing with.
The Dude has said that if we don't deliver then he's going to fire the people in the Singapore office who are on this project (business analysts and project managers, no developers) and then he's not going to send any more work to us. (Us being the company that hired me last week as part of a hundred plus employee expansion that is taking place over the next eighteen or so months.)
There is no other project of a higher priority in this company right now. I need all of you on board to work every hour that is needed. You get overtime and time off for this. There can't be any random disappearing, this is vital.
Some perspective.

The app we were supposed to dedicate the coming days of our lives to was a business analysis app that would help the exec's better review and predict the market. And now in counter balance to that an excerpt from Daniel Kahneman's Thinking Fast and Slow, you know, that guy who won a Nobel Prize and shit.
The experts performed worse than they would have if they had simply assigned equal probabilities to each of the three potential outcomes. In other words, people who spend their time, and earn their living, studying a particular topic produce poorer predictions than dart throwing monkeys who would have distributed their choices evenly over the options. Even in the region they knew best, experts were not significantly better than nonspecialists.
Cool, so I'm going to help CEO's think they're making better decisions when clearly they're not. This is the ultimately fucked up back handed pat on the back that they're looking for of course.

Over the week leading up to my Friday morning which was actually still my Thursday night I worked late every night. My team lead and the other senior developer in my team worked till two am regularly but I, being the relative new guy was sent/volunteered to go home around nine or ten most nights. I was not nearly as productive as these guys who either were very entrenched in the project or just stupid good at what they did. I still managed to help out but I felt a bit disappointed in my contributions.

A brief rewind to Monday morning.

Balding Guy, myself and three other devs are sitting around a desk while Balding Guy goes over the app on an Ipad pointing out things that need fixing. PM #1 (Project Manager) writes down notes on what needs to be done on post its, one note per task and then sticks them on the desk. After filling the desk with post its we break for two minutes while Balding Guy and PM #1 stick all of the post its on a wall.

We reconvene at the wall where the post its have been organized by generalized categories of development and phases of done. The phases of done are: To do, In progress, Verify, Done, Failed. The team lead points to the various areas we will each be assigned to. There are five sections of development and he assigns everything in one section to me. WTF? Oh wait, that makes sense, no one in the team is familiar with this branch of the dev, of course it makes sense to put the new guy on it. If I fuck it up then no one else can get blamed and since none of the other devs have any experience on it he's not wasting any resources getting someone up to speed because there will be no getting me up to speed. It felt like a lightweight training on how to raise a child. Here's this thing, there's no manual and it's already pretty fucked up so just do the best you can and if no one get's killed you've done a good enough job.

That's how the next few days unfolded. A mad scramble to get the post its which seemed to be endlessly multiplying from the left side of the wall to the right, but not too far to the right because that was failure. As we move them across the wall, the pink, neon green, yellow, blue and orange post its felt like a herd of some new age animal migrating across the wall of our office. Everyone in the office could see it for the entire week. They saw us in the office when they arrived and when they left and they knew that if this project were a fire fight we'd be pinned down and taking casualties. The Norwegian had a kid a few weeks earlier, the kid was born two and a half months premature and was still in the hospital on a breathing machine. He didn't see the kid for three days straight that week.



Thursday morning the team lead announces to us he's going home because he feels ill. I suppose working till two am every night will do that to you. The Norwegian did too but unlike the Norwegian the team lead was in every day before ten. Despite this though I was astounded, this was crunch time, the moment of truth, the home stretch the final frame the last inning, whatever you want to call it this was the defining moment and the leader was abandoning ship. Now to be fair he'd worked harder than any of us, and his departure didn't diminish my respect for him in any way. We wouldn't be where we were at that moment without him, but it was a moment not unlike throwing your child into the deep end of the pool. Either they figure it out or they drown and ultimately you'll be blamed for throwing them in.

He goes home, the business analysts are sweating. They're down to twenty hours left to deliver and although we're close they won't settle until we're there.

Four am and we've finally decided the last changes have been made. We package the files needed to release the app and send them to the deployment server which was configured by a co-worker a few days earlier. There are always issues with the deployment but eventually we always seem to figure things out. It's four am, we start trying to figure things out.

It's seven thirty and the maid just arrived and we're done trying to figure things out because it's clearly not working. Right now in Singapore the people are waking up and looking at the day old version of the app, we're all clearly fucked. Then the Nigerian has an idea. Convert this to that package that this way, modify that code to do this and release. We split up, two on this and two on that. Now is when the Balding Guy walks through cussing in French. Now is when the Canadian says for the fourth or fifth time if he downloads the app and sees a white screen (again) he's going to cry, now is when despite complete exhaustion we rally and start trying anything to save our asses.

Eight forty-five and the Nigerian is putting together the last of the code needed for our new approach to side step the deployment issues. The Norwegian and the Thai are frantically searching documentation on various access rights, I have just put forward a bit of helper code as directed by the Nigerian and I'm pretty sure the business guys are in the office crying because they're going to lose their jobs. One of the German's from Singapore walks into the office with his suitcase and it's as though the business analysts knew he was coming because before any of use say hi (not that we want to) they burst out of the office and greet him warmly telling him how everything is going great and we're just solving the last little bit of release code. (What bullshit, there's no such thing as release code) and that we'll be up in no time. I sit and listen to the bullshit slingers as they serenade the idiot German businessman about how exciting the whole night was and how the app will be a big hit. Of course inside they think we're about to get decapitated.

Me: "Anyone want muffins, I want some muffins."

Them: ...

I send the last bit of code to the Nigerian, nothing special just some restructuring of the data processing code that will support our new idea. Then I go get muffins.

Nine ten, I return, the air of success in the room is unimaginable. The developers of course are still glued to their computers because they don't believe their eyes. The Nigerian walks up to me straight away, "We did it, our idea worked." I hand him a muffin. I walk over to the other senior dev and ask him which idea finally worked in the end. He looks at me and shakes his head. Oh yeah, I forgot this is business, we're all ass holes and can't reveal our secrets in front of the German business man for fear he'll know we were holding on by the seat of our pants. I walk into the Balding Guy's office and hand him a muffin, "Congratulations." I say, "Yes!" He responds.

Truth is I went home shortly after that, no idea how the presentation to the CEO's went that day. I didn't get called in to the office once over the weekend and am now caught in anticipation of what tomorrow will hold. Did the app bomb and get scrapped and that is why we didn't get called in for fixes this weekend. Was it so damn perfect that there's nothing left to do but present it to the CEO? What's going on? I guess we'll all figure that out tomorrow.


1 I'm pretty sure this guy is the CTO (Chief Technical Officer) but I'm not entirely sure yet. So basically the only guy in this company more important than him is the CEO, which is like saying the only person more important than person X is God. Oh capitalism, how I hate thee.

2 This number is roughly true but not exact. Bald Guy was clearly trying to impress us but what's actually really impressive is that this number wasn't far from the truth.