jump to navigation

Tip of the database March 19, 2013

Posted by therealtinlizzy in day-job, navel-gazing.
Tags: , , , , , ,
trackback

My day job (some fair bits of which occur not during the day at all) includes the planning/execution/orchestration of technical procedures (server builds, code deploys, OS/app upgrades), as well as responding to, triaging, and “stopping the bleeding” when one of our servers or applications crashes and burns.

Toast

This past weekend entailed the former – a planned system outage for the purpose of executing a scheduled upgrade to one of our environments. Simply put – we had to migrate the databases from 2 old servers to 2 new servers. Not a terribly complex implementation, as these things go, but nonetheless requiring a not insubstantial bit of planning, deliberation, collaborating, scheduling, assembling of needful technical folks (other than myself), and documenting a roadmap/checklist for all of the tasks involved.

I know – you probably just nodded off there, but stay with me – tech nerd circle-jerking isn’t the point of this post. But don’t worry, there will be plenty of time to nod off again later on.

After signing off at 6am Sunday morning (having begun at about 11pm the night before), with nary a glitch in the whole thing start to finish, I was pondering the aspects about the whole affair that made me so pleased and satisfied specifically, and about what makes me most enthused about my job generally and other projects/extracirriculars on and in which I’ve been immersed.

Thing 1: I thrive on collaboration. At work I’m part of a team of mixed-skilled folks – tech engineers like myself, code developers, business analysts (sort of the translators/liaisons between the tech geeks and the business folks), testing folks, and management. The cool thing, if you’re looking for it anyway, is that every one of those folks brings s/thing different and awesome to the problem/project in question. And one of the coolest things for me is collaborating with folks who are awesome at things I’m not awesome at – because while I’m pretty kickass at some things in particular, I’m extremely not-awesome at a whole lot of things. There’s something extremely happy-making for me about the opportunity to work on a team that functions like a well-oiled machined – we all have our respective skills to contribute. Even if/when there’s the notion that some folks are objectively more or less skilled than others (and that is reality), what makes it work, what makes it even magical sometimes, is honoring, respecting & acknowledging the other skills besides my own contributing the effort.

Then yeah –  sometimes there are folks you have to work or deal with who just suck pretty hard – who end up more like millstones around your neck, roadblocks to whatever process, or giant potholes that bottom your car out just when you’re cruising along nicely. I could talk for days about nay-saying Eeyores, egomaniacal dicks, useless/ineffective do-nothings,  insecure info-hoarders, deliberate undermining sabatogers, and teddybear bricks of evil and/or dim with whom I’ve had the er, pleasure of dealing over the years.

Teddy bear brick of evil

Teddy bear brick of evil: artwork credit to Rebecca

One of life’s constants I’ve found, whether working in a web app development group, running rollerderby league/teams, family stuff, or whatever, is that you can’t entirely get away from suck people.  However, there can be all sorts of interesting and underlying reasons for people behaving in suck ways, and often (granted not ALL the time) if you take the time to provide the space and catalyst, as well as take your ego out it – you’d be surprised at the awesome you can coax out of people.

Not being pollyanna-ish about that – because you also have to learn boundaries, self-preservation, and when to walk away from people either just too dickish or unwilling/unable to look up from the shit in which they’re submerged. But some of the most awesome and rewarding experiences I’ve ever had centered on seeking, finding, and orchestrating ways to turn a rabble of millstones, road-blocks, Eeyores, egos, bricks & dicks into a functional and sometimes even beautiful, if still with plenty of mismatch and rusty edges, bundle of awesome.

rollingPony

credit: artist Willie Bester, via http://beyondvictoriana.com

Funnily – circling back to my database presto-change-o project over the weekend – I can get super-charged even over the most mundane widget-building sorts of efforts purely or primarily because of some super rad mojo I have with the folks with whom I’m collaborating. One of the most enjoyable aspects of the database migration over the weekend was collaborating with a couple of my favorite folks: the DBA (database analyst) – a mercurial, luggish, non-communicative sort who’s a fucking wizard when it comes to database stuff, and the super chill, good-humored, friendly QA/BA (tester/business anaylst) who had to do all the app-side testing and checkout before we could collectively signoff. In and of themselves – I generally could give a fuck about databases, systems, or the gamut of technical procedures, coding and scripting changes I’m capable of and needed to do for the db switcheroo – what I get out of it is working together on a thing with capable, engaged folks to do all of our respective bits to get the thing done.

Thing 2: Being comfy with not having all the answers, knowing how to get answers, and writing that shit down.  Over the past year, two guys on my team – who were substantially more baller in the depth and breadth of their system engineer skills than I – left my team, at different times and for entirely different reasons, but in both cases abruptly. Their leaving left huge sudden voids in the skill and knowledge fabric of our team. While we three amigos had shared engineer and on-call support responsibilities for years – we each had very different specialties and strengths – theirs much more heavy on the technical, mine heavier on the orchestrating/translating/liaising between our eng/tech team and the less-/non-tech folks with whom we interface.

In the void created by their departures, I as the lone remaining system engineer faced a choice of either rending my garments/gnashing my teeth (I always like the mental imagery of that) and dissolving into a rage puddle of “I can’t possibly be expected to fix this or know that!?” – and no one on my team would have blamed me one bit; OR I could say “fuck if I’m going to let my team crash and burn, let’s do this.” I went with the latter – I rolled up my sleeves and jumped with my half-assed rusty engineering skills into the fray of all the scripting, coding, system architecture and config, and outstanding environmental instabilities left in the wake of the former engs, in-depth experience/exposure to much of which my job function had migrated me away from in recent years.

Now, nearly a year after the first guy split, I have to say I’ve done a pretty fucking bang-up job of not only managing to hold the whole shuddering ship together (sometimes seriously with little more than chewing gum and baling twine), but of rooting out underlying environment problems and either fixing them myself or hand them off to developers to fix, unraveling and learning underlying scripts, code and procedures (most of which I had no hand in building or implementing) in order to keep jobs running and code deploys on schedule, and going from a decent-but-nothing-to-write-home -about tech resource who can keep the lights on to yeah-I-am-pretty-damn-awesome-actually.

One of the most critical bundle of skills (in addition to being a natural-born fire-fighter) that has allowed me to not only survive the exhaustion and sometimes-hellishness but also to thrive and grow into an effective little wizard all my own, is being comfy with and able to admit not always knowing the answers, being driven and resourceful to find the answers, and then writing that shit down.

It occurs to me there was a time early in life where I thought I had to know all the answers in whatever situation. And if I didn’t, I’d best just keep quiet or make like I did know the answers. As an observant kid, it didn’t take me long to realize that folks who made like they knew all the things but didn’t, ended up faring far worse than if they’d just owned up to not knowing. But while I quickly got the “no one likes a know-it-all or a faker,” it still took me well past undergrad to grow into the realization there’s no shame/failure in not having a answer for all the things – even in your career or field of expertise. The important thing is being empowered and driven to find the answers. That notion even made an appearance in advice from Dr. Braman, the presenting orthopedic surgeon for last week’s Future Physician class, where he asserted that one of the requirements of an effective surgeon is to be comfortable saying “I don’t know.”

My Knowledge Compendium doesn't look nearly this cool.

I have a running work document I started probably going on ten years or more ago, when I was initially my team’s only system engineer, which I titled my “Knowledge Compendium.” It was my attempt to keep any and all various systems/environment details and procedures from etch-a-sketching out of my head due to occasional/rare use, and to provide some sort of info-capture for someone stepping into my shoes in the event I was hit by a bus. My Knowledge Compendium fell into disuse in recent years due to my job taking me in some different directions, but this past year I dusted it off and started loading it full of all of the procedures and minutia that I was sussing out in taking over All The Things. In taking over some of the trickiser code deploys and environment/config changes the guys used to do, where I couldn’t rely on the routine deploy procedures I was used to, I began to build checklists and step-by-step procedures to make sure all the details were captured ahead of time and steps were completed during the procedure itself.

Not only has asking, seeking & documenting been my sanity-saver this past year and even since further back, but it’s a means for something else that I’ve learned over the years is really important to me. I have a thing about the democratization of knowledge. I don’t mean some empty hippie libertarian crap platitude along the lines of “knowledge wants to be free!” I mean that I find it incredibly meaningful on a human level to be a means for bridging a knowledge gap for another human. And I don’t mean bludgeoning folks with info, or waving my (metaphorical) dick around to show how awesomely knowledgeable I am, or either intentionally or inadvertently drowning folks in levels of detail that just further confound and mystify them.

I mean taking time and deliberation to meaningfully share, explain or clarify some bit of knowledge I happen to possess with someone who is experiencing some disadvantage at not having or not fully comprehending that knowledge. Being at a loss of knowledge or understanding can leave a person feeling powerless, mystified, suspicious, stressed, anxious and any number of other greater and lesser degree bits of not-awesome. Being able to clear up a mystery or resolve some bit of unknown for another person can all on its own be incredibly rewarding – even if it results in nothing more than making someone’s day a little less harried, saves them a little time, or is one less pain in the ass for them to deal with.

So yeah – there are many things that motivate me, that provide the rocket fuel to my day-to-day – but those two things – collaboration and knowledge gathering/sharing – are a couple of the significant factors in my inner clockwork that can turn a mundane database migration for an uninteresting utilitarian application I support for a company I don’t feel particularly magical about into something cool, rewarding and that brings me a not insubstantial amount of satisfaction.

</today’s navel-gazing>

Advertisements

Comments»

1. Stefanie - March 20, 2013

I totally want to be on your team! 🙂


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: