What I learned this week: Data Skew

Disclaimer: In the spirit of full transparency, I learned about data skew a little while ago. But the whole point is “what I learned this week.” In some cases, “this week,” just refers to this week in time…like…last week, last month, whatever.

My first brush with NPSP was as a consultant. I remember very clearly thinking that some of the features would have been very handy for my B2B sales staff back in the day. In a lot of ways it was love at first sight. I still get prickly when people say mean things about it…

[Insert about a half hour of me looking for the best option for a “Don’t talk to me or my son ever again” meme before realizing there could potentially be a better use for my time.]

That said, the first time I started getting error emails at about 2am was ALSO around this time.

You know, this one:

Message: “First error: Update failed. First exception on row 0 with id 001……………; first error: UNABLE_TO_LOCK_ROW, unable to obtain exclusive access to this record or 1 records: 001…………….: []”

And I was flummoxed. What does that even mean? Why are you locking anything? Who said that you needed exclusive rights? And what does this have to do with merging records?

For a while I sort of…ignored it. Honestly it would run again at some point, right? It rarely happened more than once for the same record.

Sometimes I would have dozens of them. Usually right after some major data change or something. I suspected they were related, but I had other pressing concerns, and eventually everything would be sorted.

Over time I filled in the blanks. Unable to lock row meant that whatever the code was trying to do, it couldn’t get update access to the record.

If I spent more than 30 seconds on it, it made sense. A record cannot be edited by more than one person at a time, so why would it make an exception (ha ha – get it?) for custom code.

And then again, for a while, I left it at that.

Enter Data Architect Trailmix, stage right.

A super important part of the large data volume considerations that are discussed in the data architect arena is the concept of data skew. And as I read about it, I was taken back to a project early on, a move from the Starter Pack and a bucket model to NPSP with Household Accounts.

This client was looking to upgrade to the new success pack. They had been using the bucket model for YEARS – more than 50,000 contacts all inelegantly shoved into this single Account called “Individual.”

It was difficult to report on things. It took forever for the record to load.

I knew that there was a correlation, but I could not, especially at that time, explain what it was. I had a sense that having to many child records was a bad thing. I didn’t know what to call it. And I wouldn’t know, until years later, that that very situation was what caused errors during the overnight batch processing.

Data skew occurs when we have too many child records, plain and simple. It has an impact on loading time (you try showing a record and querying tens of thousands of records at one time), reporting, and…yes, automation.

It doesn’t exactly help me fix the errors all the time. Sometimes it’s just bad timing, and not even because of data skew. But putting a name to something makes it more accessible, less concerning.

Carry on, NPSP. Carry on.

What I learned about this week: E3

Look at me, sticking with this idea of sharing the things I learn each….week….ish.

And really, I’ve learned a lot this week. I’ve been studying for some exams, been setting up some new third party applications I haven’t used before. That’s cool.

Know what’s even cooler? E3. E3 is infinitely cooler. To an extent, anyway. I mean I don’t GO because…people. But I can watch all of the announcements via the wonders of the world wide web, and here are the things that I learned.

Bethesda is still just…really wanting me to buy Fallout 76. It’s not going to happen, Todd. It’s just not. Best overview of their announcements? Right here, from the Onion.

Sony wasn’t at E3, but we still got to see the Final Fantasy VII remake from Square Enix, which is exclusive to Playstation.

BORDERLANDS 3. OUTER WORLDS.

But what has really stuck with me is that the new Cyberpunk 2077 trailer and RELEASE DATE melts my face right off. It’s just gone. My face has been replaced with a constantly shocked and impatient look of wonder.

Have you seen it?

I didn’t know that a game trailer would ever be able to do that. But here we are. Just in case, I’ll probably go watch the trailer a couple of more times…see if there’s anything else I can pick up before this week is over.

What I learned: TDX19

We’re just going to leave the elephant in the room right where it is, so…make peace with that.

I had the great pleasure to attend TrailheaDX last week, Salesforce’s smaller developer conference, in San Francisco. It was my first TDX, but I certainly hope it won’t be my last.

For those who have never been, it is WAY smaller than Dreamforce. Dreamforce spans over blocks and blocks, from Moscone to local hotels, and it’s not unheard of to walk close to a mile just to get from one session to another. TrailheaDX is not like that. It takes place entirely in Moscone West – granted, all three floors, but comparatively, it’s easy.

It also is repetitive. That has some negative connotations, I realize, but hear me out.

Dreamforce takes place over what I’m confident is half of the city, and very few sessions are alike. If you miss a session because you’re on one end of the event, and the session is on the other, then that’s it. You can hopefully catch a recording later.

TDX had some – not all – but some sessions repeated in the theaters, so if you missed it one time, you might be able to catch it again. Not all of the sessions worked that way, but enough of them that I was able to safely select one session over another because I knew I’d get a second chance later during the event.

There was still all of the energy and good vibes of the community; I still got to see a lot of my friends and coworkers.

And this was the first time in years that I simply attended the event. I didn’t volunteer or serve on a panel or do anything but go to sessions and try to absorb, and I’m glad I did. I learned quite a bit while I was there, and I came away energized enough to sit down and write this. Which is no small feat.

I had a bit of an epiphany, as well, that I’d like to share now.

As a self-proclaimed polymath, I have struggled with how best to run this blog. I wrote about it already, but I still never answered my own question.

So I’m going to unshackle myself a bit. Moving forward, I’ll be sharing things I learn – random, and untethered to a single category. Because that’s what’s interesting to me. Sometimes it’ll be Salesforce related, or technology related, or project management related, or…whatever I learned.

That’s what I’m taking away from TDX19, and I’m already looking forward to next year.

Morning Routines

I was just looking at my basic Twitter feed, and amidst the Salesforce and Mass Effect and election posts, there was a Promoted Tweet from the Wall Street Journal –

(I’m sure you’ve all seen the article in the journal, but I want to stress that it’s all conjecture. 

My feelings journal?

Michael, he means the Wall Street Journal.

Oh. The Wall.)

– interviewing the CEO of Slack, and the first question they asked was “What is the first thing you do in the morning?”

It just got me thinking about causality, causation, correlation, all of those fun C words that are similar but different. (Connotatively speaking, but also concretely.)

I seem to see a lot of things like this. People want to measure success by common threads of habits, and while there is likely something to that – successful people tend to work hard, sure – it also contributes to imbalance of power.

Because here is the thing.

I work hard. Absolutely. I don’t even have time to update this blog so often anymore because my job keeps me busy. But I ALSO worked hard when I worked at Geek Squad, and most people would not want to interview me when I was in that job to capture the things that made me successful. Strictly speaking, at that point in time, most people would not have seen me as successful. The way people spoke to me when I had that job definitely made that clear.

I am not even close to being the first person to point this out, and I won’t be the last. But asking a white guy what he does in the morning, and correlating that to his success in the tech industry, just isn’t meaningful.

I honestly don’t know how he answered because I really didn’t care. Most of the answers are irrelevant. Because what they do in the morning isn’t what makes them successful.

A working single mother who isn’t leading a Fortune 500 company probably has more on her plate in the morning. If she made enough money, sure, she might meditate or read the paper or whatever, but she doesn’t. Her morning probably starts just as early, and maybe she makes lunch for her kids, and then she gets them ready for school, sees them off, and then goes to work. Or maybe she has to be at work so early that she can’t do those things for her kids.

Asking an already successful person who started life on Easy mode is like asking a native language speaker how they managed to get those pesky verb conjugations right. Sure they had to practice and learn, they probably made mistakes, but since most everyone around them was speaking the same language, it made it easier.

I don’t begrudge the guy his success. And I’m not implying he doesn’t work hard. I AM saying that morning routines mean less than I think people give them credit for, and I’m also saying that I am just really tired of seeing those things come up on my Twitter dashboard.

Live from Dreamforce

It’s Wednesday – halfway through Dreamforce, and I’m returning from a day and evening of volunteering, playing Dungeons and Dragons, and having dinner with some of my absolute favorite people.

I look back on my first Dreamforce, and I look at where I am today, and I still can’t believe it. How is this my life? How did I get so lucky?

Not to say that it comes for free. I work hard, and I work a lot, but I enjoy my work, and part of my career is experiencing this event (and others like it) every year.

One of the first things I was asked to do this year was fill out a gratitude card – what am I grateful for?

This. All of it. I’m just grateful.

Travel as a metaphor

I got back into Michigan from New York on Saturday afternoon, only about 13 hours after my originally scheduled time. Other at Arkus were far more delayed than I.

It was all of the storms – crazy thunderstorms and a few tornado watches all along the Eastern coast that had flights coming in cancelled, which means no planes to carry us all home. I was holed up in the Delta Sky Lounge, courtesy of Coworker, when my phone buzzed with the cancellation notice.

Cut to about an hour in line, with a lot of other tired non-passengers, hoping to get something other than a three leg journey through Syracuse, then Atlanta, and then home just shy of Sunday morning.

These kinds of things are exhausting and anxiety-inducing to me, but they’re not something that makes me mad. The poor saps behind the counter can’t do anything about Mother Nature’s wrath against her ignorant children, so I’m not about to scream at them.

“If weather could be controlled, Delta would have bought it by now,” was my favorite line from the helpful attendant who patiently refreshed his screen to see if he could get me to Atlanta (impromptu family visit?) or Minneapolis (daily flights back to Michigan).

The wait (and my volunteering to sort some info cards for them while I did so) was worth it. I got on a flight to Minneapolis that night, stayed with Coworker for free, and hopped back on a plane the next morning to come home. Cue celebratory Electric Hero sandwiches, cocktails, and blessed sleep.

Travel, man, am I right?

Sam, you haven’t posted in months, and now you’re going on about travel, and you mentioned a metaphor, but…?

Allow me to use your question as a convenient transition and take you back in time about 4 months.

Another Coworker made the decision to move on to other things after some life changes, and so I took on a few extra projects that needed to be closed out. I also got a promotion – not sure I’ve mentioned that? Anyway, yeah. So I had the experience of onboarding an employee.

Things were kind of crazy. A lot of pressure systems moving around, as you can imagine, and accordingly, a lot of things were delayed, some things were cancelled. But during that time I learned a lot – got hands on with some new things, got creative with some other things, and also just did a lot of work.

Skies have cleared. I got a lot of things off my plate, and not a moment too soon, as we enter Dreamforce season (already?) and very soon after that, holiday season. I still have some behemoths hanging around, major projects that are ramping up, but it’s so good to just breathe. I feel in control again – finally, after months of feeling like I was on a loop, digging and digging and digging but never seeing the surface.

And isn’t that the thing that’s so frustrating about travel issues?

 

 

GTD: One Year Later

I wrote, just over a year ago, about discovering GTD…that’s a misnomer. I didn’t discover it. It was required reading. But…I mean, it’s kind of discovering?

Not the point.

A year ago I wrote about being new to the concept, new to the practice, and now, with little time to write these days and even less capacity for new ideas for this blog, I am reviewing my last year in GTD. In my typical fashion, no less.

First, my confession. I royally sucked at All The Things for most of the last year. It’s a hard thing to learn. Especially for someone who has random thoughts throughout the day, some of which might be worth capturing, but the vast majority of them not really…tangible or worth making not of. I swung wildly between extremes. I wrote everything down, but then I would exhaust myself going through all the stuff. So then I scaled back, but I scaled back too far. And frankly, after Zoe passed, there was about a month of me just trying to stay above water at all.

Even through the struggle and the sucking really bad at following the really clear directions provided, I adopted small things that worked really well for me. Organizing ideas, to-do’s, etc. by project? Super helpful. In a way that I thought would be overblown, but it made it clear just how dis-organized my prior organization had been. What is a project? Anything that is more than one task. Well that makes it really simple to identify a way to categorize projects. That and…you know…managing projects as my job.

I tried not to beat myself up about it too much because, from conversations with others who had started out with GTD brand new, there’s often a time of off and on again.

 

But I did beat myself up about it. A lot. And frequently. Like anything else, it’s something that I knew I needed to devote more time to, devote more energy to, and so I would try, but when I failed, I failed hard. Or at least I thought. I was trying to mimic, in every way, other people’s processes.

And then in November things kind of clicked into place. I wish I could say there was a sudden shift or some specific thing that happened that made it all clear, but there wasn’t. I just realized that I couldn’t do things exactly like other people. Even the book makes it clear that there are levels and different ways of doing things – the concepts are what matter, not the tactics.

So I gave myself one goal. Every day I needed to review OmniFocus. I put no restrictions on myself in terms of when that happens or in what context, but each day, I need to review OmniFocus.

What a difference that made. Instead of trying to force myself to do X, Y, and Z, I just said “do this one thing.” The rest sort of fell into place.

Because I knew I would be checking OmniFocus, I started entering important things there. Sometimes as a generic capture-to-inbox thing, and sometimes as a go-to-the-project-and-spell-it-out thing. No pressure. And if I was in between back-to-back things and didn’t put it in immediately, that’s ok because I’ll be checking it later, anyway, and I can add all of those little extra things then.

That’s really the point. It’s not about following the “rules” or step-by-step instructions. It’s about freeing yourself of having to remember all the things. I don’t have to remember all the things. I just have one goal, every day, and if I’m consistent with that, the rest falls into place.

Still not perfect. Still forget some days. But it’s better, and I think that’s all we can ever ask for.