Day 14: Complacency

I saw this post on Twitter this morning:

My first reaction was “Wow! It’s gonna be a landslide!”. Even Texas is looking pretty blue.

But then I thought about what would happen if millions of people saw that, and decided that Trump’s defeat was a done deal? Why bother to vote?

I’m happy to see that people are finally realizing what a terrible leader Trump is, and that he is only ever thinking of himself. I’m shocked that everyone didn’t see that well before he was elected, but if we can get him out in November, we can repair some of the damage he has done before it is irreparable.

BLM Protestors in Philadelphia (photo credit: Chase Sutton)

We need every single person who came out to protest these past few weeks to also come out to protest where it really counts: the ballot box. We need to get rid on not only Trump, but every single Republican who has enabled him by putting party before country. We can never become complacent.

Day 13: Loss

I’ve been raising caterpillars for about 6 years now. I say “caterpillars” instead of “butterflies”, because once they emerge as an adult butterfly, I let them go, and my involvement ends.

The species I get to raise is the Eastern Black Swallowtail. We grow parsley in our garden, and parsley is one of the favorite host plants where swallowtails like to lay their eggs (along with rue, dill, carrots, fennel, and a few others). I found these cute caterpillars munching away on the parsley one day.

We counted an even dozen of them. As the days passed, though, their numbers steadily decreased. Only 2 of them made it to the pupa stage, and one of those pupas got eaten by a wasp. Finally, though, one of the most gorgeous creatures emerged! She was content to rest on my hand while her wings dried out, and after a while flew off.

My first swallowtail!

After that I decided to try to bring the caterpillars indoors to keep them from predators. I kept them supplied with food, and they grew well. A much higher percentage made it to adulthood, but there were some losses along the way. I had such a loss this morning.

I feed them with sprigs of whatever plant their eggs were placed on. To keep the sprigs fresh, I put them in a vase-like bottle. The problem is that sometimes the caterpillars aren’t too careful, and fall into the water and drown. To prevent that, I covered the opening with foil, and placed the stems through a small hole I poked in it.

What I didn’t take into account was that as the caterpillars move around and jostle the sprigs, the foil would tear a little, and in time the little hole I poked in the foil got bigger. The now-stripped stems then fell down into the water, and one of the caterpillars must have been holding onto one of those, and was carried into the water, too. When I got up this morning, I found him submersed.

By now I’ve raised around 100 caterpillars, and have had my share of them die. Some only get so big, and then suddenly die. Some have crawled out of the container I had them in, and if I didn’t find them in time, they would starve to death.

So I’m not sure why this one bothered me so much. I do feel responsible, in that it was my bad design that led to it drowning.

Sorry, little guy – I’ll make sure that I learn from this, and make things better for future caterpillars that come my way.

Day 12: Communities and Survivorship Bias

Communities, especially Open Source communities, tend to form some form of governance once they grow beyond a certain size. The actual size isn’t as important as the relationship among the members: when everyone knows everyone else, there’s really no need for governance. But when individuals come from different companies, or who otherwise may have different interests than the others, there needs to be some ground rules for making decisions on what does or does not get done. Without governance, projects will inevitably fork when these differences get large enough.

Typically governance is established by what most people involved like to think is a meritocracy: the hardest-working, most knowledgeable people are the ones who make the important decisions. At first glance this seems perfectly fair, and it usually is—initially, at least. Over time, though, this system is prone to the problems of Survivorship Bias. Let me illustrate how that happens.

Imagine a group of people who are on a long hike through the wilderness. There will be some people who have more skill reading a map, or operating a compass, or who know the terrain better. When the group starts out, it is only natural that these people lead the group, and they are given the title of Navigator. The group creates rules that while anyone can provide ideas as to what direction they should head in, only Navigators can make that choice. It works well for a while.

As time passes, though, and people in the group learn more about map reading and terrain features, their knowledge begins to approach the level of the existing Navigators. At that point it would seem fair to also designate these people as Navigators, since they now have enough knowledge to make directional decisions. But the rule is that the only way an existing group member can be designated a Navigator is if all of the existing Navigators agree. In other words, the process is largely subjective, as there is no objective test for competency. It also calls for a good deal of trust.

After a while, some people realize that while the Navigators have generally been doing their job well, they have made some errors that have taken the group off of the ideal path. Some group members point that out, and want to adjust course to get back to where they should have been. The Navigators, though, prefer to keep moving forward, even if it makes for a longer and more difficult hike in the long term; they prefer the feeling of moving ahead. Those who disagree go off on their own in frustration. Others within the group get the clear message that if they ever want to become a Navigator, they should curry favor with the existing Navigators. And when they do make it into that core group, they feel that they have worked hard to earn it, and anyone else who wants to reach that level has to play by the same rules that they did.

This is classic survivorship bias. The only people who can change the system are the ones who agreed with it in the first place, and thus don’t really see a problem with it. The voices of disagreement fade away until they can no longer be heard, so everyone thinks it’s all good. The system self-perpetuates.

I’ve seen this in action in several communities, but none so strikingly as in the OpenStack community, both on the Nova team as well as the Technical Committee that is supposed to provide technical leadership. I originally wrote a draft of this a year ago when I was working in that community, and became increasingly frustrated at how decisions were made. I happened to “run into” (electronically, of course) a few former Nova developers who had moved on, and when I expressed my frustration, they both said that similar feelings were why they looked to move to a different project. That’s when the role of survivorship bias became clear to me.

As I’m no longer in the OpenStack community, I don’t need to vent about particular issues or personalities. That’s history to me. I do hope that people realize that survivorship bias can shape how a community views itself, because if you are coming up short in some areas, you won’t know about it, because the people affected usually leave rather than deal with that BS. If you care about growing a healthy community, you need to make it easy and welcoming for people to share their ideas. And you should also take the time when someone who was active decides to leave to do a sort of exit interview. You might learn something important.

Day 11: Spreading Racism

Mass protests in a time of the COVID-19 pandemic: are they foolish gatherings that will only result in spreading the disease?

In an editorial in today’s NY Daily News, the authors make the case that even though protests in response to the execution of George Floyd, Ahmaud Arbery, Breonna Taylor, and far too many others, are important because “racism is a deadly virus, too”.

I agree with the sentiment: racism is deadly, and we cannot just sit back and ignore it. But it is the analogy to a virus that really bothers me.

Viruses spread without intent. They do not choose their hosts. They are opportunistic: if a virus lands on a cell that it can infect, it does so. If it doesn’t, it dies. It does not have the capacity to choose.

Racism, however, is not randomly spread. Instead, it is actively taught to each generation. Children listen to their parents, and largely follow the values that they are taught.

When my kids were young and in day care, one of the other kids there called another kid a derogatory racial name. The woman who ran the day care handled it calmly, explaining to the boy why he shouldn’t call people those names. I talked with her about it afterwards, and she said that her grandmother had a phrase she used when she heard kids say ignorant things: “Well, he didn’t just lick that up off the floor!”

In other words, it wasn’t an accident; it wasn’t randomly spread. Instead, someone spoon-fed that to the child.

The only way to combat racism is education. For years most white people thought that the reports of police misconduct and brutality towards blacks was probably just “a few bad apples”, but that most were fair and respectful. Since the advent of ubiquitous video recording, though, those same white people are getting educated about the reality that POC have known for far too long.

And I hope that children growing up today see these protests, with people of all colors coming together to demand that things improve, and take away from this at the very least the concept that Black Lives Matter. They will be better equipped to deal with a racist relative, and refuse to be spoon-fed that bigotry.

Day 10: Missed Opportunity

It’s been a little over 2 months since I became one of the 40 million people in the US who lost their job as a result of the COVID-19 pandemic. In that time I’ve been reaching out to people in my network, tracking LinkedIn regularly, and keeping an eye out for a new opportunity.

I’ve applied to over a dozen companies, and out of all of those, only one even bothered to write back that they didn’t think I was a good fit for them. For the rest, it was as if my application had been sucked into a black hole.

Until yesterday. I got an email from a well-know tech company saying that they were impressed by my experience, and so we arranged for a video interview with the hiring manager. Finally, it seemed, the world of employment wasn’t looking so bleak!

For the record, it is not my intention to embarrass this company, so I shall not name them. They seemed genuinely interested, and the people I dealt with were both professional and pleasant.

The interview yesterday went well. I was impressed with the hiring manager, who seemed very sharp. I got the impression he was likewise impressed with me, since he told me he would refer me forward to the next phase of the interview process.

A couple of hours later, though, I got a call from someone in HR at this company. The hiring manager had mentioned to him that I was looking for remote work, which I always state clearly up front. It turns out that even though their entire company is working remotely now due to the pandemic, once that’s over they expect everyone to work from one of their offices. In other words, though working remotely has kept the company running, they will not hire anyone who isn’t located where their offices are. As I am not in a position to relocate now (and besides, I love San Antonio!), I politely declined to continue the hiring process. The HR person mentioned that there is talk of opening up the company to hiring remote workers, so I told them that if that ever happens and I’m still available, I would be glad to help them transition to a remote-friendly culture, as I do have a bit of experience with it.

Before the pandemic, it had been very difficult for me to understand why so many tech companies resisted remote work. I suppose its the old “if I can’t see you, how do I know that you’re working?” attitude. But now that they have been forced to do it by circumstances, you’d think that they’d realize that there is no reason not to embrace it, and many reasons to do so:

  • You now have access to a much wider pool of talent
  • Relocation expenses are eliminated for most hires
  • The amount of office space you need to run your business is kept low
  • Processes are documented better
  • Workers are generally happier

One of the supposed advantages of working in an office is the spontaneous conversations that happen – the proverbial “water cooler” discussions. Sure, these can be helpful, but all too often the fruit of those discussions is never recorded. When you work with a distributed team, it forces you to document these things, usually in email or a Google doc. Such documentation is helpful for preventing misunderstandings down the road.

Unfortunately, it seems that many companies are cutting edge of tech, but very slow learners when it comes to hiring remote workers. So I’m back to looking for openings and filling out applications. And that company is back to looking for the talent they need to grow.