Stack Overflow logo on top of code.

On Joining Stack Overflow as a Designer


I joined Stack Overflow about two months ago as a product designer. This post is about what it was like adapting to the culture and the challenges I encountered.

About Me

Since 2001, I’ve worked in-house for various companies. For 15 years, I worked next to my co-workers and was able to tap someone on the shoulder whenever I wanted. I found this especially useful during those first few days at a new job, when I didn’t know many other people, how things work, or where to find answers to simple questions. I’d latch on to the few people I knew so they’d introduce me around, show me where things are, and help me set up a few things.

  • Learn about a project I’m taking on? Knock on my boss’s door.
  • Configure my local dev environment so it hits the database? Ask a developer to tap a few keys on my keyboard.
  • Meet the Marketing Director? Grab a coffee with my co-worker and walk over to the Marketing department.
  • Question about which health plan to select? Bring the form over to Human Resources. (I should also ask about my 401k while I’m over there.)

That’s pretty much every job I’ve had before Stack Overflow (eight total). I wasn’t burdened with figuring out one-time set-up tasks I didn’t understand. Slowly and steadily, I grew into my role. I wasn’t overwhelmed with new information (because literally everything is new information at that point).

My experience at Stack Overflow was different right from the start.

New Employee Setup

Stack Overflow’s design team is 100% remote, so just about everything I knew about onboarding went immediately out the door. My new hire paperwork was done through HelloSign, which was a welcome change (I was dreading having to print, sign, scan, and email a ton of forms). HelloSign made the process as simple as could be. A+ would use again.

When it comes to how things work, almost everything is self service. Stack Overflow has a pretty thorough internal Wiki that contains info on policies, procedures, and benefits... but I didn't have a plan to tackle it. So my process was pretty scattered and reactive.

  1. “I need to set enroll in a health plan… let’s search for that.”
  2. “Ok health plan is done… someone mentioned Trello, I should get access to that.”
  3. “Alright, I’m in Trello… hmm at some point I’ll get paid, how does that work?”

That was my first few days. I eventually addressed everything, but it took more time than my previous jobs when I had someone walk me through these tasks. Setting up my health benefits and 401k were particularly tough since I don’t understand these subjects very well.

Once all the onboarding stuff was done, though, the self-serve part became quite handy. I used to have to ask someone how much time off I had; now I log into BambooHR. A push notification from my bank replaced a physical paycheck. Pretty great.

Stack Overflow is very generous in helping remote employees furnish a home office. They sent a few lists of common setups (desks, chairs, computers, etc.), but ultimately gave me freedom to choose whatever I wanted within reason. I started conservatively...

My home office desk.
A maxed-out MacBook Pro, two Thunderbolt displays, an adjustable desk, a Herman Miller chair... not exactly roughing it.

Same goes for software. A few common things were readily available (Adobe CC, Balsamiq) and others were only an email away (Sketch, Sublime). Setting up local environment wasn’t easy, but is it ever? Stack’s… um, stack is mostly Microsoft-based with lots of user privileges, feature flags, and (depending on what you’re working on) multiple codebases. Considering how big it is, the setup instructions were very well documented and the engineers were helpful with the little things that came up during the process.

Company Culture

As a company, Stack Overflow scores pretty darn high on the Rands Test. The company invests in its employees and trusts them to get work done. They are flexible with time, generous with resources, and supportive of employee education. Even though we don’t always work together, the design team has regular meetings and constantly shares work. Management regularly fills us in on the bigger picture (and I believe it).

I never had 1-on-1’s before joining Stack Overflow. Now every two weeks, my manager and I discuss everything from “What challenges do you have this week?” to “Where do you want to be in five years? And what are we doing to help you get there?”

This is one of the best company cultures I’ve experienced. But there is one problem with the transparent nature of the company: too much information on Day 1.

In my previous jobs, for better or worse, there were usually a few layers of management that sheltered me from the rest of the company. This allowed me to focus on a small amount of information and gradually work my way up as I got more comfortable.

Compared to that, joining Stack Overflow was like…

Little girl getting sprayed in the face by a hose.

Stack Overflow defaults to open and transparent regarding information. We use Stack Overflow (of course!), Google Docs, Google Drive, Google Hangouts, Trello, Invision, GitLab, and multiple chat tools. And I was handed the keys to everything when I started.

There were rabbit holes at every turn. A Trello card that links to a Google Doc that references another Google Doc that links to a saved chat transcript that discusses an Invision prototype. Everything has comments. Every comment has replies. Every screen name links to a co-worker’s profile. I followed the breadcrumbs in an effort to piece together who was who, what they’re talking about, and what time zone people are in.

Without much structure, it was easy to get lost in a sea of information. I often wasn’t sure exactly what I should have been doing those first few weeks and felt like I should be accomplishing more. It took about a month for me to get both feet on the ground.

Design Culture

Stack Overflow’s transparency carries into the design team. Since we’re working on the same product but are far apart geographically, we’re constantly chatting and explaining our thought processes. Almost no design work happens without a discussion. Plus everyone is a generalist, so there’s lots of overlap.

This has been a refreshing change since I spent the last five years as the sole designer on my team. Having designers review some CSS or jump into my Sketch file is huge. I no longer feel like I have to do everything on my own. If you’re on a design team, don’t take it for granted!

At Stack Overflow, each product designer is embedded in a product team with developers and PM’s. Sometimes it feels like we’re isolated from the other designers, so it’s important for the design team to talk regularly and have a few things we can work on together. One thing we come together on is the design system we’re creating. I like how the designers at Marvel put it:

When you’re designing a new page, you’ve just got an infinite amount of values for every single property, and it kind of—I don’t want to say encourages, but it results in designers just going for it with no restriction and no limitations and no thought toward a system, or how this will affect other pages as the user navigates through the app. I think when you’re working from a shared codebase that’s responsive and from a style guide, and the whole team is working from that same resource, it restricts everyone in a good way and limits the creativity in a good way.

Yea, that sounds like what we’re up against.

Going 100% remote was also a big change. I was used to the physical interaction I got from working with a team in person. That doesn't happen at Stack Overflow, but once or twice a year our team meets up for a week in one location so we can work together, bond, and just have fun. My first one is next month; can’t wait!

Wrapping Up

I’m passing my two month anniversary as I post this. The first four weeks were a whirlwind. But when the dust settled, there was a lot to enjoy. In addition to everything above, here are some random niceties:

  • I have better health insurance.
  • I haven’t refilled my gas tank for two months.
  • I was able to choose a desk that helps with the RSI in my wrist.
  • I went to the DMV without having to take time off.
  • I’m finally using flexbox in production.
  • My phone battery lasts almost four days.
  • I was home to see my daughter crawl for the first time.

I've really enjoyed my time at Stack Overflow so far, I can't say enough good things about working here. Hopefully this gives you a feel of what it was like joining Stack Overflow and help those of you starting off somewhere new as a designer.

Thanks to Jon Chan, whose blog post motivated me to write this.

If you’re interested in how I applied for a job at Stack Overflow, I briefly wrote about it on dribbble.

The HTML Email Cover Letter I sent when applying for jobs.