I have written this post so many times over the last few months. I wrote it enough times that it’s easier to just start over rather than try to piece stuff together from all those different docs! This is also the first time I’m writing a version of this post after leaving.

I left Airbnb roughly about a month ago, after 5 and a half years. My goal is to take a sabbatical for the next 2 years. We live well below our means and have a pretty good runway thanks to the Airbnb IPO (🙏), so the main goal is to give Suzi some space and freedom by taking on more parenting, spending a lot of time with the kids while they’re young, and taking a break from the industry.

I hope I can do justice to how fondly I think of Airbnb and my experience there. Pre-pandemic Airbnb was the best place I worked, and it’s not even close, and post-pandemic Airbnb would still have been the second best place I worked.

It was a real privilege to be a part of the early-ish Seattle office and to see it grow into a much larger company. I don’t know the exact number, but the office was 60 or 80 ish people when I joined, operating out of a WeWork above Westlake Station. By the pandemic, we had 300 people over 2 floors above Mr West coffee shop and were quickly outgrowing the space. Booking a meeting room had become a serious scheduling feat and there was real concern over having enough desks for everyone.

—–

That early office grew out of a travel startup (Vamo) that had been acquired by Airbnb, and they formed the backbone of the office culture. Every new hire would take a lunch doing a sort of AMA in front of everyone. New hires would be asked to help lead events like Lunar New Year lunch (I remember being a “lunch host”), the annual Thanksgiving potluck, Airshares (employees sharing something they’re passionate about), and volunteer events. We all regularly ate lunch together in a big meeting room. All this stuff was encouraged/incentivized by the managers, and the result was that you knew everyone and viewed cultivating relationships within the office just as important as the job itself.

I got involved early on with the “social impact committee”, and that was a critical piece of my Airbnb experience. The first thing I did was help lead a volunteer group to Youthcare to cook a lunch for homeless youth. I was not at all comfortable doing that - and I don’t know the first thing about cooking - but people were counting on me, so I just went along with it. Then the main social impact lead was going on parental leave, so I ended up with their contacts and asked to help some events/partnerships progress.

The result was facilitating volunteer events, lunch and learns, and donation drives for organizations including Mercy Housing, Unloop, the Arboretum, the city of Seattle, Ada Developers Academy, and Dev/Mission. With Unloop, we did employee panels, mock interviews, job shadows, and pair programming over several years. We even brought a group of employees and visited a corrections center to talk about our jobs at Airbnb and how we got into the tech industry. WIth Mercy Housing (which has two housing complexes within a half mile of our house in South Seattle), I did an hour a week after-school homework help for elementary students and we did things like backpack drives and bought Christmas presents for families. With Dev/Mission, we sourced and ran quarterly employee panels for their cohorts of high school and college students.

We had volunteer time off (4 hours a month) with that time being donation matched, as well as really positive support and engagement from managers. There was also a company-wide Week for Good where we tried to get everyone in the office out to volunteer. Volunteering at a food bank was even a part of the company’s onboarding. I got to go with a small group to visit Microsoft and talk with some of their leaders about how to bring a social impact hackathon to Airbnb.

The company added an engineering apprenticeship program and I got to be a mentor for an incoming engineer for 6 months (though we continued to regularly meet even afterwards). There was an ops rotation program where folks who worked in operations could try out other roles - I also got to mentor/manage a part-time entry-level web developer on the team for a couple of months.

I witnessed my managers clear their busy schedules to literally pick up trash on the street. I know there’s an argument that “we’re a company, we should be focused on the product that we’re building,” and maybe that’s what Airbnb is now - but it was so so so cool to be at a company where this felt like the norm, and where very successful people didn’t feel like they were above doing work like this.

I was Seattle’s “social impact ambassador” in 2020, but when the shutdown happened, we couldn’t actually do much. We shifted to monthly virtual lunch & learns with orgs like Mary’s Place, Urban Impact, and Black Girls Code alongside monthly newsletters with volunteer highlights, but eventually, the whole company’s strategy for social impact began to change.

—–

As an extension of that social impact work, I ended up on a Seattle office “culture leads” committee, planning fun things for morale and trying to preserve culture as we grew. The main idea was that everyone should feel like they can own the culture and that we can generally trust people to do the right thing. That early ethos was “if you felt like doing something, just go ahead and do it”.

The most fun thing we did was help throw together the annual Thanksgiving lunch and the company’s 2019 holiday party at the Starbucks Reserve Roastery on super short notice. We did other things involving absolutely huge orders of boba from Young Tea (and I still remember that, for one event, I put down one of the boxes on the edge of a counter and it fell over right before the event, but thankfully no one gave me a hard time).

I think what made the experience great was the people. My colleagues cared a lot about each other and would go out of their way to help each other in their work. Even though many of us have left now, there are still a handful of people I try to meet up with on a recurring basis, people I would consider friends. I got wedding invitations from colleagues - that’s never happened before! I’m gonna be someone’s groomsman next year, someone who would just pick up pastries and bring them down to my house to share with my family when I felt too busy to meet up. We were friends with the kitchen and security crew - one of them had a side hustle as a wildlife videographer, who later left from getting contracts with BBC and Netflix! - it was that sort of place.

I got to do a lot of the culture or “core values” interviews, so there was some period when the office was growing quickly and I ended up on the interview loop for a lot of the incoming managers.

I remember that one of the first team meetings I attended was a tech review with the org’s engineering director. That director asked a handful of questions during the meeting and was being pretty level-headed and reasonable, but I still remember that at the end of the meeting, he said something to the effect of “I’m sorry if I came across as too negative.” I didn’t think it was anything particularly critical (though it was one of my first meetings, so maybe I just didn’t know), but I was shocked that a leader at that level would have been so sensitive and empathetic to the effect they had on others that they would apologize within the meeting and without prompt. That made it the sort of company that I wanted to be a part of.

—–

The office itself was beautiful (individual meeting rooms are designed after listings from cities all around the world) and I wish I could have spent more time at headquarters in San Francisco. I visited only rarely after the 3 week onboarding bootcamp, but it felt energizing and inspiring to be there. I usually wanted to do heads-down work in the library, but most of the time, I ended up just socializing with people I worked with everyday, but never got to see face-to-face.

—–

The company had a group of Christians who met for prayer every Tuesday morning for the duration of my tenure - they met weekly to pray for more than 5 and a half years! I had a lot of respect for the Christians there and how seriously they took their faith, and it was a real blessing to have their prayer consistently over my years there. When the company IPO-ed, a big part of why I put funds into a donor-advised fund were because some of the other Christians were imagining what generosity could look like and even shared out a short doc with guiding Biblical principles and ideas for how we might be able to give and set a commitment to keep giving. We certainly had moments of theological discussion, but the group primarily met for prayer and fellowship - it wasn’t aiming to be a Bible study or anything (pre-pandemic and in San Francisco, the group used to go volunteer together).

One interesting thing from the group is that I actually got to play a role in someone coming to believe in Jesus! That person had posted in a Christians Slack channel, and so I responded and we met over video chat. I just shared how I came to put my trust in Jesus, and I later found out that it was something that God used in their coming to faith. After that, we’d meet weekly and go through the Bible. The bulk of what we read and discussed was their first time encountering it!

—–

In terms of role and team, I joined Trust Tools as a senior software engineer (primarily frontend) back around Thanksgiving of 2017. I stayed on the same team the whole time, though I became a manager on the team for a year, between 2022 and 2023. I switched back to IC for a few months before departing.

Trust was a really fulfilling, constantly evolving problem space to work on. We worked on problems like mitigating hacked accounts, stolen credit cards/money-laundering/sanctions, party risk, ID verification, fake inventory, inappropriate content, etc. The team worked on internal tools, so we served global operations teams as well as other engineering teams within Trust. It wasn’t difficult to feel like our work was worthwhile and important, and that’s much of the reason why I never switched teams and why I worked so hard. I often thought that if I could just make our product better, I could positively impact Trust agents, who spent their whole workdays using our tools, and I could positively protect the people who use Airbnb.

Pre-pandemic, the team would go on big international trips to see Trust agents actually using our tools, to see firsthand what it was like. There were trips to Singapore and Korea as well as to Dublin and Cork (one of my interns actually got to go on that one!). I unfortunately wasn’t able to attend any of these as our first daughter had recently been born.

The tech stack touched Ruby/Rails, Java, Scala, and Python, but most of the time, I was just writing JavaScript, which eventually turned into TypeScript. We moved from REST APIs to GraphQL. We moved from an isolated repo into a monorepo. We used Redux but that was probably overkill and we didn’t really need to. Our data fetching story was a little bit nightmarish (rip Hyperdux, but it was increasingly moving towards Apollo).

We had one tool that was originally written by the tech co-founder, Nate Blecharczyk, and then later iterated on by Coinbase founder, Brian Armstrong.

Something hacky I did was work on a tool to report suspicious cases of money laundering. IIRC there was an ETL pipeline that populated a file in S3, which was later picked up by a Ruby cron job, which then created tasks to be reviewed by agents. And then another ETL pipeline created another file in S3, which was then picked up by a Ruby cron job and uploaded onto an SFTP server. Something like that. It’s crazy that it worked, but I was proud that this system actually ran seamlessly for several years before it ran into its first hiccup (which was something like the daily S3 file wasn’t created)!

Maybe my best work was related to optimizing a tool for creating human labels to train machine learning models. Someone else did most of the groundwork, and then I just swung in at the end and looked for optimizations. Things like not overfetching data, aggressively pre-fetching, finding out how to remove a page reload. And then I found ways to make the UI configurable so that we didn’t need to write new code to create new “labeling tasks”.

We used Figma to talk to designers, Jira/Asana to track work, and Slack/Zoom to talk to everyone. And oh-so-many Google docs and sheets. It was kinda out of hand. Git/Github/Sourcegraph for version control/viewing code; Spinnaker for deploys; Datadog for telemetry; VS Code with Github Copilot AI to write code. React Testing Library for unit tests; Cypress for end to end tests; Happo for visual regression testing.

I indicated explicit interest to become a manager near the end of 2020, and started doing some extra things to build my manager skill set. I finally became one in May 2022, so all-in-all, the transition took about 18 months. I focused on processes - like running sprint planning and backlog grooming, improving daily standups and knowledge shares, and figuring out an intake process with Ops to get their ideas or high-pri bug reports and tie them into our sprints. I had lots of 1:1s, organized social events and farewells, worked on securing projects that aligned with the team’s vision, and managed interns and contractors.

But being a manager was actually really tough on me. It was tough coming up with a vision, roadmap, and OKRs, and keeping both the people “above” me and “below” me happy. It was emotionally tolling to feel responsible for my team’s experience of work and to manage their career expectations (something I didn’t do well). And it was tough feeling like the team itself was not able to support folks’ ambitions, like the work that actually mattered was so distant from the work that would get someone promoted. Playing politics to secure projects and ensure that all the credit would get attributed like I wanted it to felt insincere and unfulfilling.

I definitely didn’t feel like a good manager for much of the time. I remember feeling like I had to be strategy-first or vision-first manager to succeed, especially since I had a peer eng manager who did those things incredibly well and naturally. To my manager’s credit, he made it really clear that being a people-first manager was just as important and viable and that that’s something he and my peer EM needed to learn from me.

As a developer, I had a lot of fun. I felt like the domain expert on a lot of things. My biggest asset was my network of relationships, built from tenure, being approachable, and going out of my way to try to be helpful or unblock people. Good or bad, I’d circumvent things like sprint planning to make sure other people got their bugs fixed or could hit their deadlines, and I’d proudly (or maybe a little arrogantly) say that I thought success is helping make other people successful.

And I felt that way because that’s how I felt other people operated when I joined! One example is that I got to fly down to SF and speak about our team and our frontend tech at a recruiting event in 2019. I still remember my designer basically dropping everything he was supposed to do that day so that he could produce beautiful slides for me at the last minute, saying that he knew it was important for my career.

One simple thing I miss is being able to get a bug report in JIRA, put on some music, figure out what happened, and know that I fixed a bug and made objective progress (assuming no random regression). There’s some simple pleasure in that act of a clearly defined problem and success criteria, and knowing that others (our ops liaisons, other engineers, product managers) would be grateful and recognize you afterwards.

I don’t miss the feeling of drowning in Slack. When I mentioned I often circumvented sprint planning - there are plenty of reasons why one shouldn’t do that. It meant my whole day would easily be derailed just by opening Slack in the morning, based on whatever new bug had been found that night. I don’t miss getting paged, I don’t miss restless nights trying to solve a bug in my head, I don’t miss getting tagged on random docs, I don’t miss feeling like “there’s always something to do” and defaulting to working at night. Post-pandemic, I’d work most weeknights… I’d get online at night and see a good chunk of my team online as well. I’d work weekends just to try to catch up, because otherwise, I’d be uneasy and just trying to keep a bunch of context in my head until I finished something.

—–

Overall, I had a lot of pride working for Airbnb. I know it can be polarizing, but most people I talked to thought it was pretty cool and wanted to know more about what it was like. I thought the company’s mission of “Belong anywhere” was something worth aspiring to, and something that really naturally aligned with both the product itself and the Christian faith. I thought it was amazing the founders all stayed at the company for as long as they did (you know, contrasted with other companies with scandalous origin stories), and I truly thought the founders had good intentions and were trying to do the ethically responsible thing.

I’ll still probably be using Airbnb whenever I travel, and I’m grateful that all of the travel credit I got while working there doesn’t expire. Working at Airbnb gave me a ton of confidence and allowed me to grow into the sort of engineer and leader I didn’t know I could be. For that, thanks to everyone who gave me the opportunity.

—–

Now that I’ve left, I’m still trying to figure out what my life will be like. I wanted to save the first month to decompress, so I held off on pursuing or even declaring any grand ambitions. I haven’t been coding or logging a lot of miles. My main activities for the last month, which I expect to remain constant going forward, have been time spent reading at coffee shops and time spent with the kids. I don’t have much else to worry about for now.