If men used as much care in uprooting vices and implanting virtues as they do in discussing problems, there would not be so much evil and scandal in the world, or such laxity in religious organizations. On the day of judgment, surely, we shall not be asked what we have read but what we have done; not how well we have spoken but how well we have lived.—Thomas à Kempis
At Stack Exchange, I wrote the year-in-review post for:
If you look on the dates of those posts, you’ll notice they come later and later in January. Indeed, 2017 pushed it to the limit by being posted on the 31st. My excuse is that it sometimes takes a month to organize one’s thoughts about the events of a year.
I won’t be posting about Stack Exchange in particular this year because (spoiler alert) I no longer work there. Instead, I want to recount the events of my life that occurred in 2019 and draw a few conclusions that will, I anticipate, be of interest to others. If you aren’t religious (and haven’t already been put off by the Thomas à Kempis quote), don’t worry about the first item. It’s about what I learned as a recruiter.
Finding a new pastor
My family has been going to going to Emmanuel Church in Burbank for years. It’s fantastic place to make friends. We also have great choir, which gives me a musical outlet. And, of course, it’s an excellent place to practice our Christian faith. Back in 2017, our senior pastor stepped down and I was part of the team to search for a replacement. Since we are a congregational church, we get to hire our own pastor. In many ways, it’s like hiring a CEO except that the entire organization is able to vote on the candidate.
Our process began with an extensive time of self-discovery. We conducted surveys and focus groups. We had a workshop with consultants. We put together a set of core values. I edited a church profile written by the search team. We created a job description for the new pastor so that we’d know who to look for.
It was only in 2019 that we began to interview candidates. Many could be eliminated by comparing their resumes to our job description. We listened to sermons and conducted phone interviews. A handful of candidates made it to in-person interviews. Only one, the pastor we finally selected, got called back. Finally we presented the candidate to the congregation.
While our by-laws require a 3/4 vote, most pastoral candidates won’t accept the position unless the vote hits a higher threshold. It’s just a lot harder to lead a church when a significant percentage of the people stand opposed to bringing a leader onboard. After several weeks of meetings with various groups in the congregation, our new pastor came up for his vote. Only one person voted against.
The odd thing is the pastor we hired expressed interest very early on in the process. Several of us had a sense that he was the right person for the job well before the first interview. We could have saved over a year of waiting if we’d just hired him from the start. But that would have been a mistake. In my estimation, it was only by going through the process that we were able to have confidence in our decision.
I was involved in two changes on Stack Exchange that were long overdue. The first retired the Tumbleweed and Reversal badges while creating Lifejacket and Lifeboat badges. The second increased the reputation for question upvotes from +5 to +10. I’m a fan of both updates that make small, but meaningful changes to the way the site appears to new users. For whatever reason,1 Stack Overflow has neglected creating pathways for users, so these improvements are like rain during a drought.
In 2019, the Community Team was given a directive to reduce our use of Meta. On the one hand, I get it. Employees posting on Meta were repeatedly dismissed as incompetent. I even wrote an appeal for compassion when it comes to designers, who often got the worst of it. On the other, “Meta is Toxic” seemed to be code for “It’s hard to understand our users and it’d be easier if they didn’t exist.” I doubt anyone actually said or even thought that, but that’s how it felt to me.
Meanwhile, most of the details of the badge swap were worked out over the years on Meta. The requests to remove the two retired badges and the suggestion that became the two new badges were first floated by the community on Meta. So when I wrote the blog post, I was in the odd situation of announcing a feature intended to make the site more welcoming that was largely designed by the very community that was labeled (by other employees) as particularly unwelcoming.
The reputation change was supposed to coincide with a public relations push. We had a very tight timetable to prepare so that we’d meet marketing’s schedule. I particularly wanted to reach out to moderators on their private Q&A, but I had to ask them to not discuss the change because it was under a press embargo. The moderators gave me excellent feedback which helped me anticipate community concerns. However, because of ongoing conflict between the company and moderators, someone leaked my announcement. As far as I can tell, the only marketing done around the change was the blog post announcing it.
To a lesser degree I helped with other features the Public Q&A Team shipped last year.2 That team has done some amazing work. But many users didn’t notice because the company seems distracted by other priorities.
It was with more wishfulness than hope that I asked my new employer about their sabbatical policy. Like most companies, they don’t have one. Stack Overflow, however, offered four weeks after five years plus a week for each following year. Since I passed six years last summer, I chose to take a four-week3 sabbatical. My plan was to write a book, but I ended up mostly spending time with family, which was an excellent use of the time.
I’ve reached the stage in life were time is more valuable than money. My wife didn’t have enough vacation to stay with us the entire time and my son had a summer camp. So for a good chunk of time it was me with my twins. We enjoyed time with my brothers and their families. We visited aunts, uncles, nephews4 and cousins. We caravaned across eastern Washington with my parents. Most importantly, we all got to see my granny who is in her 90s and suffered a broken hip recently. These are memories I will always treasure.
Stack Overflow is not perfect, but it does remote right (for those who are not required to work at the office, that is). I really appreciated remote holiday parties where I’d take my family out to some event, restaurant or whatnot that the company would pay for. When Teams launched, we could expense a substitute whatever food the office provided for the celebration. (I picked empanadas, natch.) We had extensive flexibility in our schedules to do things like go shopping in the middle of the day or take care of sick kids.
While I was in Idaho with extremely limited internet, my wife sold our condo in Burbank and made an offer on a house. I only saw about half the photos online, but we’ve been looking for years and I trust her judgment. Despite offering over the asking price, we ended up being a backup offer. (I believe behind another backup offer.) It was extremely disappointing, but we both felt encouraged that we were even in a place to make offers.
When we got back to Burbank, our condo was in escrow, so we needed to make more offers. Our real estate agent showed us a few places that weren’t right—too expensive, too small, run down, bad location or a combination of the above. A few weeks later, he asked if we’d be willing to “think outside the box”. What that meant was he found a house that’s smaller than the condo we were selling. But it does have a large garage, including a finished attic where my son could have a room.
To make the story far shorter, we made an offer and it was accepted. After years of searching, we moved into a new house last fall. Every house has surprises in store for new residents, but almost all the surprises this house gave us have been positive. We’ve been able to host birthday parties, missionaries, volunteer meetings, Thanksgiving and other events that we couldn’t do in our condo. I even enjoy mowing the lawn and taking care of our gardens. I don’t ever want to move again.
I explained some of my reasons for leaving Stack Overflow.5 When I wrote that post, my emotions were raw. Emotions spur action, but I wanted my explanation to be well reasoned. I have edited out many angry, unhelpful and spiteful words from my writing (both in public and directly to the people who make and influence decisions at the company) over the last few months. I don’t think my emotional state should color my criticisms. The result was deliberately vague: “Unfortunately, their decisions repeatedly violated my standards for healthy community management.”
But when I summarize the year that was 2019, I’d be plastering over personal pain and grief if I didn’t write more specifically about what happened from my perspective. Being honest about what I was going through requires more detail. The difficulty is I only know a slice of the story and I don’t want to call out people who may very well have been limited by circumstances outside of their control. I considered using my anonymizer script, but the characters in this story would be easily identifiable to many observers. So I’m just going to focus on the effects of company decisions on me.
Monica Cellio’s account gives context. The week she described was one of the most miserable I ever experienced in my career. I could see a conflict that began in a relatively private place (the moderators’ chat room) threatened to spill into very public places. I have long held as a universal principle of ethics that admonishing another person should be done privately. Public rebukes without first attempting to resolve the situation privately violates our shared morality. So that week I sent an email to others in the company stating my intention to call Monica in order to attempt reconciliation.
I was told to disengage. Since I’d already arranged to meet, I did the call anyway. I told Monica upfront that I was there to listen and that I didn’t have authority to make any decisions in this case.6 I reported back our conversation, but nobody with that authority ever asked me about it. By Friday it was clear Monica’s position as a moderator was in jeopardy. I wrote an email to people at my church who pray for me:
I’m facing an ethical dilemma at work this afternoon which might require me to not do something I’m being asked to do. Obviously it would be great if the situation changed so my company doesn’t do the unethical thing. But if I need to refuse, I’d appreciate prayer that I’d be able to persevere.
I was referring to removing Monica’s moderator access since that was something I did regularly when moderators stepped down. As it happens the decision to go ahead with removing her diamonds happened while I was at my son’s soccer practice. So someone else at the company pulled the trigger. If I had been asked, I would have refused. At the time, I worried that would have meant the beginning of the end of my employment at Stack Overflow. Now I wonder if the die had already been cast.
I said in a previous post: “This isn’t exactly a protest resignation.” What I meant was I had a chance to resign in protest far earlier. But I was afraid. I didn’t know if my skills as a community manager were in demand and we’d just bought a new (and very expensive) house. I thought there might be some ways I could influence decisions at the company. And so I stayed. I also began writing emails to people up and down the chain of command to see if the unhealthy ways the company was interacting with the community could be corrected. While some people seemed to be willing to listen, I saw no fruit from those emails.
A couple of weeks later, I got a Facebook message from a college friend. (We had been, in fact, roommates and in each other’s wedding party.) His organization had just inherited College Confidential and they didn’t have any experience running an online community. When my friend remembered I was a community manager at Stack Exchange, he flew down to pick my brain for an afternoon. What I didn’t know was that this was a stealth job interview. At the end of the day, he told me there might be consulting work for me in 2020.
The contrast between the company that had been all about community from the beginning and the company that suddenly found itself with a business unit that had a community component was stark. One seemed to have no interest in my experience and the other was eager to learn from me. We are not given to know what-might-have-been, but I can’t imagine this timeline if leadership had listened to its experts in community.
“But what would have been the good?”
Aslan said nothing.
“You mean,” said Lucy rather faintly, “that it would have turned out all right—somehow? But how? Please, Aslan! Am I not to know?”
“To know what would have happened, child?” said Aslan. “No. Nobody is ever told that.”
“Oh dear,” said Lucy.
“But anyone can find out what will happen,” said Aslan. “If you go back to the others now, and wake them up; and tell them you have seen me again; and that you must all get up at once and follow me—what will happen? There is only one way of finding out.”—C.S. Lewis, Prince Caspian
God blessed me in 2019. There is simply no other way I can look a the year that was. As hard as some aspects of the year were for me and people I care about, it was a year of clarification. Things that had been in the works for years (a new pastor, a new house, frustrations at Stack Exchange) finally resolved. My situation in 2020 is markedly better than it was in 2018. For that, I’m grateful.
Well, I have some ideas, but they aren’t terribly charitable. ↩
And a few I expect to see shipped this year. ↩
Leaving one week so that I could take a second sabbatical a year earlier. In theory. ↩
My daughter is the only one on my side of the family. ↩
In retrospect, this was a giant red flag. One of the great joys of community management is having agency to resolve community conflict. It’s already been a highlight of my new job. Taking away this agency was a clear sign my contributions were not valued. ↩
Send feedback by creating a GitHub issue.