Sunday, October 16, 2016

Sweaters, Yarn, and Companies

Think for a moment about yarn.

Wikipedia will tell you that "Yarn is a long continuous length of interlocked fibres" which if you think about for a moment will lead you to the conclusion that if you knit with a ball of yarn, in some respects by the time you are at the end of that yarn there's really no part in that yarn that was there when you started.  There's an illusion of continuity, because at any given moment in time you're knitting with a bunch of fibres and you don't really notice as one fibre ends and another begins, even after all the fibres with which you started have ended and you're knitting with fibres you hadn't even imagined when you started.

It's even better when you think about knitting any item (say, an amazing Bojack Horseman sweater).  because even if you wanted to use just one color, chances are your skein of yarn is not nearly long enough and so you'll have to use another skein or two, and splice them in with your first one, probably using spit.  Which means that not only is the yarn within each skein you're using not really the yarn you started with, the skein you're using at the end of the sweater isn't the one you started with, and the whole thing just sort of looks the same, and held together by friction and spit.

Friction and spit.  The similarity to company culture is obvious, right? :)

I was having lunch recently with a coworker who after six years had left our company.  We were talking about some of the ways our company had changed in these six years (a forever in tech company terms), and was likely to change in the future.  In thinking about some of the influential people with whom we work, he asked "How will things be after Alice* leaves? Or Bob*?"

And that's when I thought of yarn, and the useful illusion of continuity.

Alice will one day leave; so will Bob.  Each fiber in the yarn that is this culture ends at some point.  And if the frequency of departures is low enough, in the end little of this will make a difference and the yarn will be unaffected by these departures.  Over time it will change, not in discrete shifts, but (probably) more gradually, perhaps even unnoticed.

This is good news and bad.  The good news is that a certain (high enough) size and (low enough) turnover rate, we can be less concerned about the impact of any given person leaving on the overall culture; the bad is that the changes above are harder to notice than the big, "as of today we've implemented stack ranking" sort of traumatic changes, and it's a little harder to notice if we're going in the right direction (irrespective of the fact that the Boiling Frog anecdote is factually incorrect, it's still a useful metaphor).

As someone who's interested in having this culture go in a certain direction -- and ideally continue to go in that certain direction after he departs, this yarn metaphor helps in one other way.  If all of us are nothing but fibres in this yarn of which we are composed, we can see our role not simply as adding to the strength of the yarn, but also to its color; and if we "bleed" our values onto the fibres near us, then these fibres will continue to be hued by their interaction with us after we leave.  

As legacies go, it's not a bad one.

* Fictional names

Thursday, February 4, 2016

The Failure of Us

[ As always: Not speaking for my company ]

A long, long time ago, in 2011 in my first 2-3 months or so in Engineering after moving over from IT in this company, I had to solve a technical problem.  In an example of Yak Shaving, this ended up involving building a Python library to talk to a security service here, so I ended up finding the engineer responsible for that service and working with him a day or two to get my Python library working.  We worked together for those two days while he dropped whatever he had been doing originally, without checking with his boss, and didn't stop until we were both satisfied my library was done.  That engineer, by the way, is Jay Zarfoss, who is still one of my favorite human beings here.

That happened, I believe, because when I came to Jay and asked for his help, he thought of me as part of the group that he loosely labeled as "us."  And when one of "us" needs something, the rest of us band together to get it done.  He didn't have to look at me that way -- he could have also seen me as someone from Cloud Solutions (a different team from his own), or a Python developer (a different language from his own), or a myriad of other "not Us" orientations.

My history here is replete with such experiences with other engineers, facilities people, purchasing people, hell even lawyers.

Today, as I was talking to some people about a (so far, we haven't given up on it) failed collaboration between one of my teams and another team, it struck me that this failure was a failure of Us.  The engineers on the ground were bright and well-intentioned (I'm biased -- I hired one of them, and recruited the heck out of the other one to come work here), but in the end fell into a work mode that while thankfully not adversarial, still ended up being an artificially distant one, one where they took on different roles -- one a customer, one a service provider -- that created distance and a lack of shared vision and intimacy.

We know already that having an "us vs them" mentality develop in an organization is probably always bad.  I'm coming to see the mere "us vs not us" mentality -- a far less obviously bad mentality, with fewer alarms and red flashing lights tied to it -- as a subtly corrosive influence on the way we think and operate.  This is a hard shift for me -- one of the ways I've been successful is being passionate (to the point of annoying peers in some cases) about my customers, their experience, and their needs.  Giving up on the idea of "customers" to simply think of "us" -- my peers, my coworkers, this group of people of which I am a part -- is odd and uncomfortable.  Ironically, I'm doing it at the same time that I worry that as companies get bigger, one of the consistent natural scaling pain points is around how to maintain Us, and correspondingly how to notice the failure of Us and remedy it.

From a technology and collaboration on a goal together, the difference in context is clear to me: It's the difference between "What do you need?" and "What should we do?" It's the next step beyond not throwing things over the wall -- it's not even make sure that  people get what they need from you, and it's good, it's moving away from "giving people something" completely.

From a relationship and communication perspective, I think it comes down to striving to consistently lower the bar to communication and -- stay with me, this may be a bit confusing for a moment -- being ever-vigilant about the trivial little annoyances the people we work with create, and developing an ever-decreasing tolerance of them.

Wait, what?

I can't think of any bad relationships I have at work, but I can think of some astoundingly good ones.  And I find that the astoundingly good ones are characterized by such open communication that we tend to deal with relatively small problems whereas in less intimate relationships we might let them go.  Today was a great example -- one of my favorite people gave a public presentation where he was going to characterize my team's stance on a topic.  We chatted about it, and were on the same page.  In the presentation, he described my team's stance and said "this might sound a little more reactive [than other teams], maybe it is."  That was at 1:18pm.  This is our chat history:

me, 1:19pm
"This sounds a little more reactive, maybe it is"
That ... didn't feel good.
(your characterization of [my team]'s posture with regards to [topic])
[he was still presenting for another 20 minutes]
him, 1:43pm:
@#%.  I'm sorry about that - I see how that sounded.  I meant it's mostly reactive at this point since you already did the work to make it work... which is... actually... a huge win already.  I meant that to be a positive thing, but it totally sounded negative.  !@%.
me, 1:44pm:
No worries.  You did a better job the second time around :)
Just wanted to be transparent.
him, 1:44pm:
I  got myself a little mentally twisted at that point, and was recovering.
You're absolutely right.
me, 1:45pm: 
Thanks for hearing me.
him, 1:45pm:
Of course.  Sorry again for goofing that up.
me, 1:45pm:
No problem.
Great presentation, BTW.
I think you did a great job making it pretty noncontroversial
him, 1:45pm:
Thanks!  :)

Two minutes of talking, and we were done.  And what I left that conversation with was "Yup.  That's one of my favorite coworkers."

There are a myriad other options -- I could have just sat on it, because it was such a trivial little thing.  I could have convened a meeting with him.  I could have tried to give him actionable feedback.  All of those would have been appropriate (there are a few inappropriate options as well, of course).  But none of those feel right when it's Us.  Because when it's Us, all I really need to say is "hey, that hurt."  And I trust him to make it better.

I worry that we'll see Us failing.  I'm going to fight it as hard as I can.  

Because I really love Us.

Monday, January 4, 2016

Quantifying Shield Strength, or "How Happy Am I In My Job?"

A recent discussion in the Rands Leadership Slack of Rands' Shields Down article led to me sharing something with a few other people they thought was useful, so I figured I'd throw it up here so it's more easily shareable.

People who've read my (rather sparse, I know) blog know I'm hugely fond of quantifying ... everything (how fond am I of quantifying things? Turns out I'm 73.8% more likely to quantify unquantifiable qualities than the median of the population![0]).  At some point in my career, somewhere 10-15 years ago, I came up with a scale to assess how happily 'sticky' my current workplace is, also known as "how likely am I to leave right now?" (or, to follow in Rands' metaphor, "how strong are my shields right now?").  Being a 0-5 scale, this has some nice alignment with ratings in my company's systems, but this is but an accident.

The Scale:

5: I'm super-happy at my job.  My best friend could offer me a fantastic job and I'd basically go "meh, call me in a year, maybe I'll be ready then"

4: I'm very happy at my job.  I'm probably unlikely to entertain job offers from strangers.  If a friend contacted me and asked me to look at a particular position, I might do that as a favor, but not because I'm interested in looking elsewhere (that said, at least one job change in my career started off like this -- Andrew Voltmer asked me to interview at Macromedia, and despite being very happy at my current place I went basically as a good will gesture.  After having my butt handed to me by Marc Powell and Eric Thompson in the interview, I remember leaving Macromedia's offices sure of only two things: 1. I didn't get the job; 2. If I'm wrong about (1) I really wanted the job).

3: Sure, I'm willing to talk to people if there's some sort of reasonable position that might be interesting.  I might or might not be actively looking, but if I'm actively looking it's at the "talk to friends and see what's out there" level, not the "actively submitting resumes through automated candidate tracking systems" level.

2: Get me out of here! I'm actively looking for a different position and I'm looking for ... pretty much anything reasonable.  I'd like to leave here soon, damn it, and I'm actively, materially, dissatisfied.

1: Here's my resignation, with some reasonable advance notice (2-4 weeks).  I don't yet have a job, but I need to leave.  I'll figure out the details and where I'm going next later.

0: Here's my resignation.  It's effective immediately.  Don't worry about my stuff, it's already in my car.  This was my last day of work.  We're probably not going to speak with each other again.

No notice? Really?

I'll admit that I've never gotten to 0 (in fact, I've not gone below 3).  I reserve 0, hypothetically, to situations where I've discovered that if I remain at my company I'll be party to conduct that is either illegal or materially inconsistent with my principles and ethics.  

But ... Why?

Why quantify this? Aside for my desire to quantify most things, it's also a reasonable framework for figuring out how interested I am in the various random LinkedIn solicitations I get.  If I'm at 5, or 4, I can save people some time and effort and not engage.  If I'm below 4 ... there might be some value for discussions.  It's also worth being aware when the score changes, and figure out (especially if it goes down) what the reasons for the downgrade are (and whether or not I want to do something about them).

[0] I'm also about 68.2% more likely to make up numbers when I can't find them.