Friday, November 15, 2013

Last One Out, Close the Door

Back when I was in CorpWorld, Ruby called a meeting.

Ruby was about to be let go, but was good with it. They'd had an opportunity come up that they could take only if CorpWorld would let them go.

Almost on cue, Smiler lowered the boom on them. I'd have loved to be inside Ruby's head when they got the news they were free.

I'd imagine some kind of dramatic scene, but these things were handled remotely - by staffing companies.

Ruby probably did a victory lap anyway, and then settled down to be a pro. They wound down all their project work and - since they were part of a now extinct wing of the UX group - they handed over the keys to all the testing and legacy UX files.

Which was what the meeting was about.

Stimpy and I were given access to a raft of directories containing the blood, sweat and grief of a bunch of people who'd been canned - or were about to be.

Ruby guided us through what the files had been - but basically threw up their hands. "There's no one to keep these files anymore." 

The UX group had websites - detailing standards and design patterns - that were seriously good. These used to be maintained by at least four people. Ruby had been the lone caretaker.

Now the files were passing to Stimpy and I, and the fact that neither of us had the dev skills to maintain them was the small issue. The real problem was neither of us could get buckets - nobody would pay us to do the work. 

The three of us were sitting there in the room realizing that the bulk of the UX group's work product was sitting idle and aging into irrelevance. None of us had any illusions that this handoff of files would change their fate. These files were going to get archived - then deleted. We were just changing their "notify next of kin" data.

After the meeting, I spent some time poring over the files. I tried to remove the clearly unneeded files - maybe a smaller overall file size would help save the archive - but there was just a staggering amount of subdirectories. I moved around a few things - and then I renamed the parent directory.

I called it 
/Last one out close the door/ 
And I was.


*     *     *

Today was a strange sort of encore, although for very different reasons.

Last time, I was leaving CorpWorld. 

This time, I was going back.

And while I truly feel I've made the right choice, I can't say there aren't a host of regrets.

My colleagues at this gig are an odd bunch. 

BigMac is my favorite. A veteran engineer - loud and unabashed about everything. Days when BigMac was out were the loneliest days at this job.

BankVet was great, too - but they were all the way at the end of the hall and didn't seek out a lot of conversation. If you had a reason to chat with them - the chatting was good - but there were days I'd come to the office - do my stuff and never see another soul.

Which is why I was on Twitter so damn much. I've come to realize that a certain amount of social behavior is required to keep my mood up. At CorpWorld there was no escaping other people. It could be isolating, true. But you would always be dragged in front of your peers. My requirement meetings would always devolve into a good amount of shooting the bull.

Getting to yuk it up with the group doesn't seem important until you find yourself truly isolated.

At the MacShop, the IS group is based in a secured wing of the basement. Each team member has their own office - with doors that lock. Most of the doors sit open - but nobody other than BigMac ever comes out. 

SilentOne spends the entire workday in their office with the lights off. Standing. You can just see their eyes over their monitor. They are nice enough, but the overall appearance is not welcoming.

BankVet's office is lit, but they are either in it or off at a remote site. 

The Prospector's door is always closed. No one knows what they are up to. When I asked BankVet what Prospector does, they replied "Hopefully... nothing."

Morlock's office is outside of the secured wing, owing partly to a desire for a larger office - but no doubt because there is a lot of bad blood between Morlock and the rest of IS.
Morlock comes in after lunch and works well into the night. Communication with Morlock is on their terms and can obliterate your schedule once it starts. 

Morlock. 
Cannot.
Summarize.

Truth? If I had a lot to do, I tried to avoid them. A simple "Hello" could turn into a three hour encounter.

And then there was the Boss. I like the Boss. A lot. But they are almost never around and there is no way that I've found to track their schedule. They show up like weather. Which led to some odd dynamics - the IS group would swarm on them with every deferred need they'd stored up over the past week. And then - poof! - they'd be gone again.

All of this added up to a lot of alone time. Time I should have used to do development work. The Boss asked me to do a single development project during my tenure. And while I'd been assured that nobody would push me to get it done in a hurry - I surely was behind schedule.

Getting the new Corporate gig forced me into the deep end. I couldn't let the Boss down on this. So I would try to learn a host of things I knew very little about.

Like Unix.

The Boss had asked me to do a relatively simple thing like automate some file transfers between a brace of servers. But to a UX guy, this is like asking me to build a bridge. I'd taken exactly the wrong approach - which was to be SERIOUS.

I would buy books and learn about Perl. I would buy a book about shell scripting. I would read them methodically so that I would understand the subject before I just waded in and did something stupid.

From the outside, Unix is a sick beast. A cryptic landscape of /bin/ and grep and awk. 
Read the man page!
Seriously, anytime I see that on a 'nix help forum I want to kick somebody's teeth in. Save your smug RTFM BS for your wargaming buddies, kay?

Man pages are crap. As in 
Here is every possible option for this command explained as tersely as possible. You will never need 95% of these options, but read them all anyway and try to guess which 5% are worth knowing.
Let's begin. 
Command [filename] [option1] [flags] [location] [underlined text] [pointless elipses]
And so on.

YES. Once you know what you need from a command or why the hell you would use it over some other command, then the man pages are invaluable. Does the flag get set by default? And was it Capital R or lowercase r?  These are things man pages help you with.

How will I parse out my log file? is not something a man page can help you with. Man pages are not for people starting from zero.

Me? zero - rather:

ZERO.

But I'd tried to grok the whole of these kinds of things before starting. Read an entire chapter about grep before having the slightest idea what I would be grepping. This was worse than man pages. These were man CHAPTERS - and knowing exactly nothing about what I needed - getting hooked up to the how-to firehose was paralyzing me.

With three weeks before I left the job, I was forced to plunge in and start scripting.

Which is what I should have done in the first place. Once you have some bits that do something, it becomes easier (at least for me) to see what other bits I should reach for next.

And I had spend a bunch of time defining the problem - requirements analysis was my thang. Now, I just had to search for the commands and syntax that would make those things happen.

If I were cooking - this would be getting my ingredients together. What I had been doing before was like trying to make tonight's steak dinner by reading books about animal husbandry.

I'd stupidly tried Perl first - which is a fine choice, but required a lot more rampup - and had the added danger of being Morlock's language of preference. If Morlock would bend your ear for two hours about how you should be doing a home improvement project you'd mentioned in passing, they would be positively omnipresent when they found out about your perl script.

Shell scripting seemed more approachable and - as it turned out - a hell of a lot of fun. Yeah, it's not true programming, but you can do a truly SICK amount of things with shell scripts.

Next thing I know, I'm grepping like a total dork and getting jazzed on making a multipart email work with an MD5 boundary. Oh yeah, I'm on this... Which I'm sure is hilarious to true unix/linux types. But really-the first time you see your tiny blob of text turn into a perfectly formatted email that arrives in your inbox, you feel like a sorcerer.

But this is Unix, so there is always hidden lore lurking in the wild to make you humble. No two servers are alike - so after I get things working on one machine, I find the other machines turn their noses up at my noble little script. I spend days trying to figure out what kinds of permissions I need to do what, and where this key should be stored and howInGodsName I can get sudo on a remote box when I'm coming over as admin without a password?

CHRIST.

But eventually I wrangle together something that does what I've been asked to do. And none too soon. I'm literally getting the first scheduled use of the update two days before I leave. 

And it works - mostly. So I spend the next day cleaning it up and polishing it.

Which leaves today. My last day.

I'm writing up the instructions so that other people can use this thing. I've had several successful tests, but one thing that MacShop is truly bad at is documenting procedure. Information does not flow freely and each worker is an island.

I want this script of mine to be something people understand and can use. So I spend a stupid amount of time illustrating exactly what people need to do to make it work. Then I have BigMac test it out. Then I revise it because there are all kinds of mistakes.

I'm four hours away from being done with this job, and I need to wrap up everything with a bow. The scripts are done, the documentation is done - I need to get my files cleaned up.

I chuck all my digital cruft. Move all my spreadsheets into common locations so they can be used by the IS group. I zip archives of my scripts (we SO need git) and then I'm doing all the follow up work for the database scripts I ran in the past week. BigMac pops over to say goodbye. They leave in the middle of the afternoon, and their day is done. 

I wish them well. I'll miss them. And not just because they throw chocolate at my head on a daily basis.

Back to the file cleanup. Running low on time. The Boss was going to be back at 3 but they never show up when they say they will. I need to give them my keys and badge. 

I start a checklist.

Timesheet! I need to get my timesheet sent in. I'd managed to get it signed, but forgot to send it in.

Boom, done.

I start the ssh-keygen process for the next stage of this process. Stuff I'll never get to do, but stuff that will help the Boss when they take the next logical step.

And Morlock walks by. I make a point of speaking to them. Yesterday was my goodbye lunch and - naturally - the IS group neglected to invite them. As Morlock is utterly paranoid, this is not only hurtful - but is guaranteed to figure in their next round of calculations about who is out to get them. This was a willful omission by IS - and I should have thought to ask them to come. 

I have failed Morlock. And they are verbose, blunt and hard to deal with - but they deserved better.

I chat them up and soon we are half an hour into a discussion about database record locking. Morlock urges me to put my keys and badge in the Boss's office, and I do. Morlock abruptly wanders off in mid-sentence like they always do. At least I got to shake their hand. 

I'm still thinking about that when I realize SilentOne's door is closed. They went home. BankVet didn't come in today. I guess I made my goodbyes with them at lunch. The Boss sends me a text to tell me they won't be back until after I go home.

Which is sad, but leaves me with a more immediate problem: with my keys and badge locked in the Boss's office - I'm now a prisoner of the secure wing. Every door is now a one-way door.

Packing up is now first priority. I bin all the printouts I'd pointlessly made and kept. All my gear goes into my bag. Coat, scarf, hat - all on the bag. Everything in one place. 

Simplified.

I scour the office three times. Anything I leave behind I won't get back. Just like a hotel. There's always something obvious you forget...

Mostly satisfied, I begin drafting the epic send off email - Here's where I left things. Here's where all my files are. Here's all the things that are done. Here's the one thing that isn't. Here's how that should be handled. It was great working with you.

And it was. The past few weeks have been a whirlwind of learning and doing. Sh!t got done and I made it happen. I'm about as on top of things as I have ever felt at a job. 

Wrapped up in a bow.

I send the email and look up. It's 5:01.

My phone bongs with a text from my Boss. They are great. They thank me for my work and apologize for being absent on my last day. They say a lot of nice things.

It's after quitting time, so the place would be barren anyway - but it's a Friday. So there's double-nobody here. Add to that, the schools are closed - so anybody who was fool enough to think of being here killed that thought weeks ago.

It's dead quiet. I close all my applications, shut down my ginormous iMac monitor, and get my things.

By chance, I notice my name plate - the one I've lugged through three jobs - is still sitting on my shelf. That nagging part of my brain relaxes and I put the name plate in my bag.

Coat, scarf, hat, bag. That's the essential four. The notepad and pens they can have.

I leave the secure wing.

Morlock went out to get food - so the MacShop is quiet as a tomb. The lights are off and I stand there for a while, thinking about the life I could have had at the MacShop. The Boss could surely use the help. 

But idle thoughts aren't doing anything for me. I've done everything they asked me to do here and next week I'll start full time UX work. Rusty or not, here I come. I put in the earbuds and click. 
Leave your past at
   the front door
      and run away like
         you did before...
Blood Red Shoes. Go figure. It's got a good riff, anyway.

I'm standing there, looking at the way out of MacShop - thinking the obvious thing.

And I was.

So I did.

No comments: