Adam: Hi, this is CoRecursive, and I’m Adam Gordon Bell. Each episode is the story of a piece of software being built.
Picture this. I’m sitting at a desk. It’s a big, metal desk, and it has drawers on the one side. And it has to be big, because my CRT monitor is massive. It’s just huge, right? We forget sometimes how big these things were. And I’m in a room that’s dark, because the overhead lights aren’t on. Just, the CRT monitor’s kind of lighting up the room. Across from me sits Derek, my boss and mentor, and he has the same desk and the same giant CRT monitor, and he’s glowing from the light coming off the giant screen of code.
This was my first job when I finished university and I started working as a software developer, and it was a big transition for me. I knew how to program. I thought I was pretty good at writing software, and I think I was for my level of experience, but I didn’t know what it was like to work in an office. I didn’t know what it was like to work as a professional software developer. I had so much to learn about just how work’s done, what’s important, how you work in a professional setting with others, sharing code, even using source control, writing code that is legible for others, so many things that I had to learn during this time.
And the way I learned it, actually, wasn’t necessarily through Derek and that job as much as through these online blogs, these RSS feeds that I subscribed to and read during the day. These were the blogs of people like Jeff Atwood and Martin Fowler and Eric Sink and Paul Graham and Joel Spolsky and so many others that they filled up my Bloglines reader. And from them, I learned what it was like to be a software developer. I learned what the expectations were, what was reasonable, what wasn’t reasonable, and I felt connected to this greater story of being a software developer, of this profession where you get to build things, and it’s fun and it’s great. It was very impactful on my career.
Today’s the story about someone who is not just inspired by these voices, but someone who got the chance to work shoulder to shoulder with them, helping to build one of the most iconic platforms for developers, Stack Overflow. Today, we meet Ben Dumke-von der Ehe, one of the early developers on the Stack Overflow team. He was there on the front lines as the platform transformed how programmers worked. And he embodies the spirit of Stack Overflow and its transparency and its playfulness, and even, later on, some of its struggles to be as welcoming and friendly as it should be. But you’ll see what I mean. So stick around as Ben takes us on a journey through the creation of Stack Overflow. Get ready for a candid inside look at the birth of the website that would go on to become an essential part of the developer community, and the internet, really, as we know it. And it all starts in Berlin, where Ben worked for a PR company.
Ben: I started following the blogs of both Jeff Atwood and Joel Spolsky, two pretty prolific bloggers in the programming product development space.
Adam: The one thing that Jeff and Joel and the whole programming world seemed upset with at the time was Experts Exchange. Experts Exchange was a question-and-answer programming website.
Ben: I’m hazy on the details, but I think they got sold, and then the new owner did a whole switcheroo on the community and put a paywall in front of everything, and then suddenly, people didn’t even have access to the content they themself had been writing. You had to find the link to the question that you wanted to go to, but then not go there directly, but Google the link and then click Google, because if you came from google.com as the referrer, then it would, like at the very bottom of the page, show the actual answers.
Adam: So Jeff and Joel had this idea that they could replace Experts Exchange with something new, and they could do it in a way that would prevent this from ever happening again. They could use the Creative Commons. They could use data dumps to give access to all the user-generated content.
Ben: But the idea was that if Stack Overflow ever became evil and did the whole paywall thing, which was something that the community was definitely mistrusting about in the early days, because they had just seen it happen, they could just take that data dump, and somebody else could put up a new Stack Overflow 2 and start from there and not lose any of the content. So, publishing the data dump was sort of an assurance and insurance for the community that Stack Overflow is not going to do this thing.
Adam: Ben was in Berlin following along.
Jeff and Joel Podcasting
Ben: Joel was in New York, and Jeff was on the West Coast, so it’s not like they shared an office. So, they actually talked on Skype a lot. I don’t know if anybody remembers Skype. But they had a weekly call where they discussed where they were and what they were planning, what their ideas were. And they actually just started recording these calls and put those up as a podcast. So that’s how the original Stack Overflow podcast started, just by Jeff Atwood and Joel Spolsky chatting about their plans with regards to Stack Overflow.
And even the name Stack Overflow came out of one of the blogs. Jeff Atwood posted a poll on his blog. He has, “Really want to do this programming question-and-answer site. Help us choose a name.” And there were a bunch of choices, including, I think, corecursion.com was one of the options, so there’s a connection here. But yeah, stackoverflow.com won by a long shot.
Adam: For Ben, besides reading their blog posts, these Skype calls became his window into the world.
Ben: So, I never had an iPod, but I did have an MP3 player, just a smaller one, something like 256 megabytes or something like that, that I would put random stuff on, and mostly podcasts. So the Stack Overflow podcast was one of them. There was a podcast called the Linux Outlaws that I really enjoyed, so just two random Linux guys talking about stuff. And I would listen to that whenever I had time, honestly, sometimes just when I was riding my bike to work or just lying in bed trying to fall asleep. Initially, it was like that. I think the Stack Overflow podcast in particular, I, at some point, started actually waiting for the next episode. And then, as soon as it dropped, if there was nothing super important going on, I would actually go to listen that, because I wanted to know how the story continues.
Adam: And the story did continue. The plan for Stack Overflow played out in Ben’s headphones, episode by episode, week by week, episode by episode.
Ben: I’m not sure I even knew what they looked like, to be honest. I basically knew their voices. This was out there, somewhere else. I was here in Berlin, Germany, and they were over there in the US and in this whole startup and tech company kind of scene, which was super foreign to me. So it was a totally different world, and I was just kind of appreciative of being able to listen in on some of that. So this idea of being very public about everything, I always enjoyed. And kind of also as being a hobby programmer, I was kind of interested in getting a little bit behind-the-scenes idea of what does it look like to develop an important website, not just a toy project that, I don’t know, builds pretty PDF reports or something like that, but to hear about all the considerations that went into actually building a product, in this particular case, a product that involves a lot of community management questions.
They were quoting a book called Here Comes Everybody by Clay Shirky, religiously at the time, which was like the Bible for community management producty things. If I’m honest, I’ve never actually read it, but they were quoting it a lot. I was kind of impressed. All this time they had spent thinking about all of these details, where if I write a little tool, a little program, or something like that, I just do it, and then it’s done, and then I move on. And also, kind of started creating this image in my head where these are basically the gods of programming, in a way. They are the authorities in terms of software development that are out there.
Here Comes Everybody
Adam: These authorities, what they envisioned was something like Wikipedia plus Reddit. It would have a gamified point system like Reddit, where people would upvote and down vote people and get points. And like Wikipedia, it would have editors that curated things and cleaned things up so that people would find it in Google, just like they do Wikipedia results. And then one day, it appeared.
Ben: Basically immediately as soon as Stack Overflow launched its public beta, if you Googled a programming problem, you ended up on Stack Overflow. That was a thing that happened almost overnight, just a testament to the huge following that the two had.
Adam: Ben used Stack Overflow right away, but he didn’t create an account for a while.
Ben: I’m just this hobbyist dude here who knows nothing, and then, all the people on Stack Overflow are professional programmers that get paid for this thing. So, again, I’m not even in the same ballpark as them. That’s what was in my mind. But then I saw there were people who had questions that I could answer. At that time, Python was my main programming language, so a lot of my early answers are about Python. And, so yeah, just started joining the community, if you will.
Adam: Ben and other users had questions about the QA format itself.
Ben: “What do we do about questions like this? Should they be allowed?” those kinds of discussions. And these discussions initially happened on Stack Overflow directly, which is something that always annoyed Jeff. Because Stack Overflow was supposed to be about programming, not about Stack Overflow. So, those kinds of questions were shut down.
Adam: But if you want a community-moderated Q&A site, the community needs a place to talk and gather and ask questions and plan how it’s going to handle things.
Meta Stack Overflow
Ben: And that is how Meta Stack Overflow was born, which was the same Q&A engine, so there was a question, and then there were answers, that powered Stack Overflow, except there was a separate site, and that was made for these kinds of meta quests. You could ask a support question, like, “Hey, I got an upvote here, but I didn’t get any reputation for that. Why didn’t I get any points?” And then somebody else could reply, “Well, you’ve already hit the reputation cap of 200 for the day.” And so, the question and answer format worked for that.
Adam: And Ben had this history of listening to Jeff and Joel design the site, and so, this community spoke to him, and so he started hanging out there.
Ben: So if somebody new comes in with a support question, doesn’t understand how something worked, I would answer. If there’s something like a bug that I notice or something that I want to complain about because it doesn’t look good, it doesn’t work right, whatever, I would post a question. And the Meta community at the time was a pretty tight-knit group of, especially the regulars, those that were there all the time, with our very own sense of humor. It was that very geeky kind of humor, little bit of compensation for also having to play support agent for everything.
Adam: On Meta, joke questions would be posted on Friday and tagged, “It’s always Friday in Iceland.” One joke involved tildes, the squiggly line that represents home on Unix systems.
Ben: Originally, you were allowed to have a tilde like the little squiggly thing in your username. And at some point, that was disallowed. They just narrowed the character sets for display names. And then I posted a Always Friday in Iceland question. I wrote it like a funeral announcement, “Dearly beloved, we’re gathered here today to commemorate the tilde that our friend has lost on this day with a ASCII code of 126. It was the last of the printable characters. So in order to commemorate, write a post here that makes us remember this character that we lost today.”
Adam: So the various Meta users jumped in with poems and tributes. Here’s one I like:
Oh tilde, Oh squiggle Oh symbolic not You who approximate the string before the knot You aren’t alphanumeric enough for Stack Overflow But I’ll see you again at $HOME.
Ben: So, completely crazy, but that’s the kind of fun that we had. It was just something that I was part of. It was still a support community, and when we helped people out and answered questions, we were still there to help. We complained about a lot of things. It was still out of caring for the site, because we felt Stack Overflow was us. And so, it was not just about the joking and the fun part, but also the caring about this thing, this project called Stack Overflow that we were being part of. And so, it was definitely a sense of belonging that I enjoyed.
Unicorns & Gravatars
And then, someday, I don’t know if that was a Always Friday in Iceland or if it was a real request, but somebody complained on Meta that these Identicons, which were just made of triangles and squares in a very symmetric way, that they are pretty boring.
Adam: This person was talking about Gravatar avatars that showed next to your username if you never set up a user profile picture.
Ben: Gravatar has a couple of options too. Instead of show Identicons, you could also use geometric things. They also had an option to show little hand-drawn monsters put together in a similar way, automatically and based on the number, but a little less boring than these geometric shapes.
Adam: Of course, someone jumped in and said, Stack Overflow needs their own avatar generator, and it should be unicorn-based.
Ben: And I took that as inspiration and did exactly that, so I created a unicorn generator that creates unicorn images, random unicorn images, but based on a seed, which would be like that hexadecimal number that could be used as a drop-in replacement for Gravatar. The way Gravatar works, you could actually tell Gravatar, if the user doesn’t have a Gravatar, then show this other image instead. So it would literally work as a drop-in replacement there. And people went nuts. They loved it. I got responses from the developers working on Stack Overflow who thought it was so cool.
Adam: Then, Ben got an email from Jeff Atwood.
Ben: It’s almost like getting an email from George Clooney out of the blue, right? “Wow. He’s talking to me.” And he said, “Hey, we really enjoyed your unicorn thing, and we’d love to use that on April 1st to replace all the users avatars on Stack Overflow with unicorn images, and just wanted to make sure that your service could handle that traffic.” And I was like, “Well, this is so cool. I wrote this thing, and Stack Overflow wants to use it.”
Obviously, I wouldn’t have been able to handle the traffic. The thing I wrote was running on the Google App Engine on the free tier, so, no way that would’ve handled Stack Overflow levels of traffic. So I told Jeff, “Hey, that’s so cool, and would love to, but this is on the free App Engine tier, and we’d have to move that to paid,” but, at least at the time, you could only pay Google via credit card, and I didn’t have a credit card and whatnot. And then Jeff said, “Oh, not a problem. Just invite me to the account. I’ll put the company credit card in it.” And so, bam, that happened. And suddenly, Stack Overflow’s company credit card was attached to my Google account, which was next level cool. There was a month to go for until April 1st.
Adam: Stack Overflow sees a massive amount of traffic, 200 million visits a month, and a page with 10 answers on it might have 20 people, and that could be 20 avatars, so it’s a lot of requests.
Ben: And so, I made sure of a couple things, to make sure that caching worked right, because I’d be serving a ton of images, and you want to make sure that they actually cached in the browser. So I had no idea. Again, I was like this hobbyist dude that sometimes wrote little command line tools. I’d never written a top, I don’t know how much, website service. I couldn’t even conceive of what amounts of traffic I would be seeing. And I actually asked Jeff, “What kinds of traffic would I be expecting? How many avatars should I expect to serve?” and that kind of thing. You also want to make sure that people don’t have to redownload the same thing over and over again. So you want to have your HTTP caching headers correctly to tell the browser, “You don’t have to rerequest this. This image is never going to change, because it’s autogenerated based on the URL.”
Adam: Then on April 1st, the switch was made.
Ben: So, suddenly, everybody’s avatars were my little unicorns, which was just all kinds of amazing. And all my fans on Meta applauded me, this is so amazing that they were there. Obviously, there’s also the haters, the people that say, “Ah, just thought Stack Overflow was hacked because my avatar was replaced.” You’re always going to have that. But it was fun, and I loved it. After April 1st was over, I kind of posted a thank-you post to Meta, again, saying, “Hey, everybody, I loved how enthusiastic you were about this,” and all of that.
I actually posted a graph of the traffic. So, I had usually like two or three requests every 10 seconds, something like that. But in the analytics graph from Google App Engine, you could then suddenly see this thing go from zero to internet-level traffic. And then, at the end of the day, when they switched it off again, I go fizzle back to zero. And it kind of looked like a mountain range, so I put a couple unicorns in there that walked over the mountains. And it was kind of amazing day. And, yeah, that was my first interaction with Jeff.
Adam: Ben had just shown that he could build and operate a service at the scale of Stack Overflow, but he didn’t see it that way. He was still working at a PR agency, and he just considered himself a hobbyist programmer.
Ben: And then, April 29th, I was, again, sitting in the agency, doing my thing, and I also had my personal email open, and I suddenly got an email from Jeff Atwood again, which was still a little bit special, even though it wasn’t the first time again. But it said, “Who should work for Stack Overflow?” That was the subject line, and then the body of the message said, “You should,” and that was basically it. And that was kind of like this jaw-dropping thing, because from that moment on, it was this, “Okay, maybe the skill that I have is actually marketable,” kind of moment. Obviously, I told my boss who was sitting right across, and said… We were on very good terms, and so, I basically told her immediately and said, “There’s this job offer that’s coming out of the blue, and I’ll… probably going to take it.” And when I went home, I told my then girlfriend, now wife, and, I guess, also told my parents next time I was on the phone with them.
Adam: His family had trouble understanding even what this new job was going to be.
Ben: This whole idea that you would work for a company in America that does not have a subsidiary here or anything of that sort, you just work with other people across the globe, in 2010, that wasn’t a common thing. So, I don’t think that I had fully grasped all of that yet. So, it was even harder for the rest of them. And obviously, as I started to explain what I was doing there to more and more people, there were definitely those… I said something about programmer question and answers, and there are people that, to this day, in my family, to this day, believe that I answer questions on the internet for my job or something like that. Like, “No, I’m actually building the website. I’m not answering their questions.” This concept is pretty hard to get across to somebody who is not that technically inclined.
Starting the Job
And so, I basically said yes immediately. That’s how quick everything went. I had a Skype call with Jeff Atwood, and then he ordered a computer for me from Dell, but because that would take like a week or two, he ordered another computer for me from Lenovo, just so I would have something. And then, he ordered a 30-inch monitor to my house. And suddenly, I had this Herman Miller chair worth $1,000 show up at my house that the company sent in.
Adam: The thing is, Jeff Atwood was a developer who championed the notion that developers should have the best tools money could buy, specifically, lots of large monitors. And Joel Spolsky, he was building software companies specifically with the idea of building great places for developers to work. So the perks were good.
Ben: I don’t want to say went over my head, but it was so amazingly cool that all of these things just happened out of nowhere, the amount of stuff that was going on. And there was no waiting and, “Let’s onboard you.” No, I was employee number, depending on how you count, anywhere between seven and 11, at a startup. Things go fast. And I was there in Germany as the only German working at the company.
Adam: Behind the scenes, what had just happened was that Stack Overflow had just raised its series A round, its VC money. So a community member who had already proven that he could work at their scale was the top of Jeff’s to-be-hired list. But for Ben, this was a lot to take in all at once.
Ben: New programming language, new tools, new way of doing things, completely different scale of thinking about programming. All of this just came running at me. And I just wrote it. I was having a lot of fun. It never felt overwhelming. I was just enjoying it. I really enjoyed it, took everything in. Within a couple days of me working there, Jeff said to me, “Hey, there’s this Microsoft conference thingy going on in Munich. You want to go?” And I was like, “Sure.”
Adam: Expensing trips to conferences felt strange, but this was Stack Overflow, and Ben had put them on a pedestal in his mind.
Ben: I had this notion in my head that there’s the kind of code that I write as a hobbyist for little fun side things like weekend projects and those kind of things. But this is Stack Overflow. Even in 2010, this is this big thing, these amazing programmers that are internet famous. And so, my expectation of what professional code looks like was this must look like God himself wrote this code and kind of…
Adam: But of course, the code was just normal, all right code, right, not amazing code. Jeff Atwood is just a normal human being, and this is a startup, and things are moving quickly.
Ben: It was, I don’t know, disappointment, revelation, something in between. But, yeah, I still remember that, that there was a disconnect there between my imagination of what professional code looks like and the reality.
Adam: The first project Ben worked on was with another new hire, and it was the Stack Overflow chat.
Ben: So, there’s Stack Overflow for the actual Q&A. There’s Meta for discussion about Stack Overflow. And then, he had come to the conclusion that you also need a third place, more relaxed hangout that is not like work. And so, he wanted a web chat on the side, which was not… This was pre-Slack days, so this was not a very common thing to do.
Adam: You have to remember that Ben had never worked as a software developer before, and now, he was working with one other person on kind of a big project.
Ben: I was suddenly working on something pretty public, and I remember seeing a tweet from, I don’t remember who it was, but one fairly well-known person in the tech developer sphere, and he said something along the lines of, I’m paraphrasing, not quoting, but like, “Oh my god, Stack Overflow is using AJAX polling to do a web chat. That’s never going to scale.”
Adam: But Ben had thought this through.
Ben: We had made a very deliberate decision to start with AJAX polling, because that was actually fairly simple to do. WebSockets weren’t really… They did exist in an early version of the standard, but it wasn’t really stable. So, this decision that we made was really good, and it worked super well. And we eventually… Once the WebSocket standard had stabilized, we added WebSocket support, but we kept the AJAX polling functionality in as a fallback whenever something breaks. But I’m still kind of proud. That decision, which was laughed at by industry veterans, was a good decision and was a pragmatic decision, did not have architectural beauty or any of that sort, but it worked, and it worked amazingly well. And yeah, that was my first project.
Adam: After that project, Ben started working on the main QA engine, where he worked for years. It was a great and prestigious place to work. The developers got lots of respect.
Ben: Initial Stack Overflow was… today, you would say engineering-driven. I don’t think that was a word back then, but Jeff Atwood, engineer himself, and also Joel Spolsky, founder of Fog Creek that was explicitly founded to provide a place where programmers love to work. So, we were pampered. The engineers at Stack Overflow were really put on a pedestal, which felt great.
Adam: Stack Overflow was a very early remote-first organization. Most communication was just async text chats. That can be hard. And so, it had a yearly meetup to make sure everybody could meet face-to-face, they could meet each other in person. But it was at one of those meetups that Ben started to notice what it might mean to be put on a pedestal.
Ben: This was a meetup at, I think it was Denver 2014. I’m not sure. Doesn’t matter. We were standing outside an arcade. The evening outing was a lot of pinball fun and air hockey and I don’t know what. And one of our community managers was standing outside, and we got to talking, and he said to me, “You know, I was actually kind of surprised. You’re a really nice guy.” Okay. And you can see where like, it’s a compliment, but there’s something behind that.
And there’s obviously the thing that chat, text chat can be pretty curt. If somebody asks a question and you just answer no, because that is the correct answer to this question, but literally, these two letters in text chat, there’s a lot of things that you can or may imply there. So, there’s that.
And then there is this general reputation that engineers just had, being loud and opinionated and, honestly, not always reasonable. So that’s kind of a defining moment where I realized, maybe something isn’t right here. And hearing that made me… I think was a little bit of a start in realizing that maybe I’ve been a little bit of an idiot in a couple of situations.
Adam: Ben started to think maybe this idea of a engineering-first organization is a problem.
Ben: Did I mention about that laptop and this laptop and the 30 -inch monitor? And by the way, a couple weeks later, the second-30 inch monitor came and the chair and all of that. And if you had an opinion, then everybody kind of had to listen, because you’re the engineer who builds the product, so everybody had to take technical considerations in as the primary priority.
On the other hand, if you were a salesperson back then, you got your second monitor as a reward for making it through one year at Stack Overflow. And if you were a marketing person, you kind of had to brace yourself every time you put out a proposal, a suggestion, a document somewhere, because you just knew that the Google Docs comments were going to overflow with developer opinions within a couple minutes.
And more than once, maybe you forgot that everybody here is also doing their job. And so, for a while, you actually kind of relish it in a way. But over the years, it becomes clearer and clearer that it’s a problem.
Adam: And by the way, this is not a Stack Overflow specific problem. But what’s unique about this situation is that Ben recognized it, and he reflected on it, and on himself, and thought about ways that he could do better.
Ben: And realizing you could be writing all the amazing code that you want. If you don’t have salespeople that sell your stuff, then it’s not worth anything.
Adam: But on reflection, some of the things that had seemed problematic were also the things that made them succeed in the early days.
Ben: It’s tricky, because, especially in a young startup, where you’re a small, tight-knit group of people, you’re hiring your first couple product engineers, you want people who are passionate about the thing that they’re building there. You want people who pour their heart into it, to a certain extent. Just wanting to do your job and be paid for it is fine at a later stage, where you just need people to do the thing that they need to do. But the very first people in a startup, you just need them to be excited to get this thing out there. That means you’re literally selecting for the people that are going to attach themself to whatever it is you’re building, be it a Q&A side or else. So, at the beginning, you actually want that.
And Stack Overflow has this unique, almost, thing in the tech industry that engineering tenure has been extremely long. I’ve been there for nine years. That was nothing special. A lot of people there have stayed for a very long time. In an industry where a recruiter doesn’t blink twice if they see that you’ve only stayed for a year at your last three companies, having a lot of engineers with tenures of nine years, 10 years is a pretty big deal, and it shows that you’re a great place to work, presumably.
But, on the other hand, it also leads to a lot of, “We’ve always done it this way” kind of way of thinking. It creates situation where it’s very hard for new people that come in to bring in fresh ideas.
Adam: Since the devs had such a long tenure, the new people were often in other departments.
Ben: So you had a lot of old-timers, like myself, and add tenure to opinionated, and you’ve got somebody who’s going to steamroll you if you’re a new marketing person that just tries to do their job.
And it creates this very unhealthy dynamic in the company, where even if there are no assholes, people are just careful and, by default, assume that they’re going to get an asshole response, because engineers being very direct and opinionated is, whatever you put out there, you’re going to hear about those opinions.
Adam: It’s an interesting case of unintended consequences, because a great place to work should really be great for everyone. But sometimes, egos can just get in the way.
Ben: There was this one thing, the name of the team that worked on the actual Q&A engine, so the quote, unquote, real Stack Overflow. Obviously, we also had other engineers who worked on internal things or on the talent product and that kind of thing. But the team that was working on the Q&A engine was originally called the core team. It was the core Stack Overflow team, and I was on that team. And one day, our manager came into chat and said, “We’re thinking about renaming the core team to Q&A team, because it has this favoritism thing that it kind of implies, in a way.” And I went… I don’t want to say I went apeshit, not that bad, but I was all up in arms and saying something like, “Are you accusing us elitism? Because we are not elitist. And we respect everybody, yada, yada.”
And couple years later, when I then read that back, I so wanted to smack my past self over the head, because it made zero sense.
It wasn’t about us. It wasn’t about us that were being perceived as elitist or not. It was about the fact that everybody else was feeling second class, because, “That’s the core team, and we’re just the rest.” That was about them and not us.
And I think this whole journey of realizing there’s a lot of not me at the company that are trying to do their job as well as I am, I think that journey kind of began with that encounter in front of the arcade, which made me just think maybe one or two times more before leaving my opinion somewhere or how I phrase that opinion and just assuming not just the best of intentions, but also the best of ability and skills in everybody.
Adam: So Ben tried to teach himself to assume that others had good intentions, to tell himself that everything didn’t always have to be a battle.
Ben: The more I realized these things, the more it also became obvious the effect that this just had on the culture over the years, that, again, it wasn’t anything about hate or stuff like that, but just tension.
Adam: So Ben tried to teach himself to assume that others had good intentions, to tell himself that everything didn’t always have to be a battle.
Setting an Example
Ben: As a PM, you talk to a lot of stakeholders, and that also then allows you to explain to your engineers the viewpoints of other people and getting that across.
Adam: And he also gave a talk about some of the things he had learned about communication and about assuming the best of other parties.
Ben: It was a public talk, but I did kind of hope that a couple other people were seeing it. But, also, I didn’t want to evangelize anything, because I don’t know that I’m right about anything. Who am I to know what exactly needs to be done to fix a certain piece of culture or anything like that? So, what I usually try to do is just live the way I think it should be lived, and then, maybe also point that out once in a while and then hope that if people consider that a good example, that they’re going to follow it.
Adam: Here’s the thing. Besides working at the PR place straight out of university, Ben had never worked anywhere beside Stack Overflow. So maybe some of the tension he was seeing and the time he was spending reflecting on things was just because he was getting ready to leave. Because also, there was the whole tech stack question.
Quiting Stack Overflow
Ben: I was also acutely aware that there were a lot of things happening in tech that I was never going to see or learn at Stack Overflow. By 2019, Stack Overflow was a legacy code base, if you will. There’s definitely things that are not the most modern way of doing things. There was not really an opportunity to do any sort of significant work with something like React, for example, or to learn how does a different tech stack work, maybe cloud-hosted instead of on-prem, all kinds of things that I felt like maybe I should venture out a little bit and see a little bit more. It was very hard to say goodbye after nine years, lots of friends and everything. But I just felt I needed to spread my wings a little bit, if you’d excuse the metaphor.
So I joined another startup called Alloy. They just rebranded to Alloy.ai. They’re an enterprise product. It’s a supply chain analytics dashboarding platform, the kind of thing that probably a couple hundred people in the world find exciting, to use, I mean. It was a cool product to work on and super useful product for people who manage supply chains for consumer goods, a very different kind of product. I came out of Stack Overflow, working directly with millions and millions and millions of users who use your free product every day, to a product that’s used by a couple hundred people, because their companies pay a lot of money for access to this product, much different kind of thing.
Adam: Sometimes, going somewhere else really teaches you a lot about where you came from.
Ben: Suddenly having the distance and also the experience of a company where this has never happened, or at least not to this extent, was a pretty stark contrast. When I joined, that company was small enough that the CEO, who, by the way, was also called Joel, still interviewed all the candidates, so he also interviewed me, and when we were chatting, he said, “I don’t want Alloy to be a engineering-driven organization. I don’t want it to be a design-driven organization. I don’t want it to be a sales-driven organization, or any of these buzzwords.” Everybody who’s here has a reason for being here. And there’s no like, “These are the important people, and that’s the rest.” As much as it’s a cliché, it was very much a, “We’re all in this together, all in the same boat,” kind of way of working together. And that was not just lip service. That was actually lived. At Alloy, it really felt like, no matter whether you’re in sales or customer success or engineering or any of this sort, everybody knew that everybody else was also important.
Adam: This only reinforced Ben’s thinking on culture.
Ben: It showed me even more that… made me rethink, like, couple years back, this one Google Doc comment, maybe I should’ve phrased that a little bit differently, or those kinds of things. And that’s just the kind of realization you get when you have the distance and when you see how things are elsewhere and when you realize that not everything is the same everywhere.
Adam: So Ben enjoyed his time at Alloy, and he got to work on a different tech stack and do some different things, and then he worked at another startup, a video conferencing place. But through this whole time, he kept in touch with his former boss at Stack Overflow. And also, he had this sort of unique window into what was going on internally at Stack Overflow.
Ben: Back when I was initially at Stack Overflow, I created a Twitter account called StackOverheards, kind of inspired by the New York Times Without Context account, that just posted random quotes from the Overflow company chat, totally out of context, like sometimes just something that is like, “What?” and sometimes that may be a little funny, zero context, obviously anonymous and never anything that could reflect badly on anybody or anything like that. It was just a bit of fun.
And I created this Twitter account, and whenever I saw something in chat where I thought, “Hey, that’s a good one,” and so, StackOverheards Twitter account continues to be fed with random, out-of-context quotes from the chat to this day. And, of course, I was still following that. And so, early last year, when I was starting to think about options, I saw a random message on that Twitter account. I’m not sure what message it was, exactly, anymore, and it also wasn’t so much about the content of the message, but when you’ve worked there for so long, oftentimes, you can actually tell who said that. You can tell that all the old… the good vibes that used to be there are still there.
Adam: The thing was, now having worked at two other places, he could see the good things that he missed from Stack Overflow. He could miss all the great things about being there. And most importantly, he could see through that tiny window of Twitter that the good parts were still there, because a lot had changed since he left.
Ben: I’d left in early 2019, basically in the same week that Joel Spolsky left. So, there was a new CEO and completely new leadership team, and in 2021, Stack Overflow was acquired. So, suddenly, this is not a startup anymore. This is now part of a bigger company. A lot of things have changed. And I was aware of all of these things. But when I saw this one random message on the StackOverheards Twitter account, it just felt like the old spirits are still there, in a way. Even though the company is probably a little bit more bureaucratic and corporate and that kind of thing now, there’s still the same vibe that I’m feeling through these anonymous Twitter messages.
Adam: And so, Ben made another company switch.
Ben: And now I’m here for my second stint, and every time I talk to somebody new, I have to explain that, “Well, I’m kind of not even a year, but also, I’m the oldest remaining employee.”
Adam: And so, Ben is back, but he’s a little bit of a different person now.
Ben: There’s just this connection to the history of the whole thing. And the fact that I had these three years of a break in between there has also allowed me to have a bit of distance and detachment.
Adam: And then, Stack Overflow had another offsite.
Why You Should Quit Stack Overflow
Ben: Oh, we were in Chicago, and we had a bunch of conference rooms in the hotel, and we had like, I think, six tracks. People could propose random topics. This was just the larger engineering part of the organization. It was just unstructured talk about what you want. And so, I just had this idea for this clickbaity, Why You Should Quit Stack Overflow. And so there were just like, I don’t know, 15, 20 engineers just sitting in that conference room and a couple of tables, and I was standing there and just basically telling a short version of this story I’m telling here, with a little bit more inside perspective and this whole attachment, detachment kind of thing. This was nothing prepared.
But I chatted a little bit about kind of the same story and also how, with all that history, especially as a product engineer who actually builds the thing, it’s very easy to get attached and to feel like you have to protect your, quote, unquote, baby from whatever it is that you need to protect it from. At some point, it can either end up burning you out, or, if not that, then you’re just being stubborn and overopinionated on everything, and nobody wants to talk to you anymore, because you are still having all of those opinions that stopped being relevant 10 years ago. And it’s very easy to get into this attachment when you’ve been there for a long time.
And what the three years of break, of distance really helped me do is detach. Yes, I was part of building these things from, not exactly the ground up, but very close to it. So, yes, I did have some attachment to it and some opinions on why things should be done a certain way. And just having that distance allows me to be a little bit more relaxed about it and not take everything too serious and realize that this is not my own battle to fight.
Adam: Ben’s talk got some strange looks at first. After all, it was called Why You Should Quit Stack Overflow, but they got what he was saying in the end.
Ben: So I ended up telling people, “You don’t actually have to quit. Just remember to find that distance for you.”
That doesn’t mean you can’t be passionate about the thing you’re doing, but always remember that this is not a lonely fight that you are fighting here against anybody who disagrees with you, and it’s not hanging all on you, and it’s also not expected of you to know everything and do everything. So, just take the fact that you have a job that is kind of cool on a project that is kind of cool with a lot of cool people and enjoy the ride.
Adam: So things have come full circle.
Ben: Just coming back after three years and it all coming back to me, opening Visual Studio, open this code. Actually, while I was away from Stack Overflow, I made the switch from IDEs in light mode to dark mode. And then, when I set up my machine back at Stack Overflow, I opened Visual Studio and configured it to use dark mode. And then I opened the Stack Overflow solution and looked at the code, and I could not find my way around. I cannot get myself to look at the Stack Overflow code base in dark mode. It messes with my brain, because there’s so many years of just, visually, that there’s a visual connection to the code.
But other than that, it’s still amazing people here.
The company, for the most part, is great. It tries to do things right.
I’m still happy that I left, but I’m also still happy that I came back.
Adam: That was the episode. Thank you so much, Ben, who goes by balpha online, for your candor. You can find him online at balpha.de.
Culture is not a static thing. And the thing I learned from Ben was that your personal actions contribute to and help shape the organization you work at, regardless of the size. And so, if you see a problem, maybe you can help nudge things in a more positive direction through your own actions. Be like Ben and just be an example of the change you want to see.
Also, Stack Overflow is amazing. The company that started as a exercise in transparency and community and using the Creative Commons and putting everything out there, it’s still open and willing to talk about their internal struggles, which, by the way, are in no way unique to Stack Overflow.
A thing we didn’t get to cover is, Ben, for years, after the unicorn Gravatar thing, was behind the various April Fools’ projects at Stack Overflow. If you want to hear my take on Stack Overflow, make sure you check out episode 75 of CoRecursive, April Fools’ Is Cancelled, about the banning of April Fools’ jokes on Hacker News.
Also, thanks to another Ben, Ben Popper, who also works at Stack Overflow, who set up this interview. Ben Popper, among other things, runs the Stack Overflow podcast, the tradition that started back with Joel and Jeff, and with Ben listening in Berlin, is still going. It still continues on, and it’s still pretty great. I’ve been a guest on there before, so you should check it out.
And until next time, thank you so much for listening.