Sophie Shepherd

March 4, 2022

Six Things I Learned in Six Years at GitHub

1. Everything is open to change

The core of GitHub is the Pull Request, which allows anyone to suggest a change to a project. That change may or may not be approved by the maintainer, but no matter who you are—the ability to suggest a change is available to you. This concept is central to open source communities and has bled into GitHub’s culture.

This is one of my favorite things about working at GitHub because it democratizes decisions. Have an idea for how something could be better even though it’s not in your product area? Open an issue. See a bug that you can fix quickly? Open a PR. Great ideas can come from anywhere, and often come from people you would least expect.

This can also be a huge challenge because whatever you’re working on is open to suggestions from anyone in the company. Early on in my time at GitHub I struggled with knowing who to listen to and who to disregard. Ignoring a suggestion from someone above me in the org chart made me uncomfortable. Not knowing how to forge ahead and trust myself led to gridlock and overwhelm. I spent a lot of energy figuring out how to respectfully push back against feedback I disagreed with instead of doing the actual work.

I had to learn how to make tradeoffs. How to trust my instincts while being open to being wrong. How to find answers and make decisions to move things forward. How to contextualize my decisions so that people understood why I had made them.

Over time, I learned that instead of looking at drive-by feedback as an attack on my work, it meant that people cared about what I was working on. Then it became a motivator for me.

2. Recognize what is actually changeable

Towards the end of 2019 many employees learned that one of GitHub’s customers was ICE. ICE was in the news a lot around this time because of their horrific human rights violations along our borders. I, along with many other Hubbers, had to reckon with my employer profiting off of the suffering of families.

In the spirit of “everything is open to change” I banded together with colleagues who felt similarly, and tried to make a change. I raised my concerns privately with the executive I was closest with. I joined a self-organized group to protest internally. We wrote an open letter that many employees signed. We had a meeting with our leadership team.

At some point, I realized that no matter how hard I pushed and no matter how much I spoke up, nothing was going to change. Canceling this contract was beyond my control.

I had to look at what I could control. I could control where I worked and thought deeply about staying at the company vs. leaving. Ultimately I stayed for two reasons. First, I didn’t feel that leaving would change anything. Second, I had just found out I was pregnant and needed benefits and stability.

I have seen a lot of people burn out over trying to change unchangeable things. This is especially true at GitHub, with its strong culture of speaking up and pushing back. It doesn’t mean we should stop pushing for what we feel is right; we can still move the needle in the right direction. But it’s important to recognize when the efforts we are putting into making a change are disproportionate to potential outcomes.

3. Know what is essential

I am a recovering overachiever. This sounds like a brag but let me assure you it is not. It comes from a place of anxiety and makes me feel as if I am constantly falling short. Imagine ending every day feeling like you didn’t do enough and therefore are a failure. It sucks.

In mid-2020 I started planning for my maternity leave. Knowing I was going to need to step away entirely forced me to look at my role through the lens of “what will actually fall apart without me?” The answer was: very little.

Once I got over the existential crisis of how much value I had previously placed on my role on the team, the realization was freeing. I was able to focus on what I was contributing instead of what I wasn’t. I could prioritize what I thought would have the most impact, rather than what I felt most obligated to do. Not only did things not fall apart when I started working in this style, but they improved. I was able to do a few things really well instead of a lot of things kind-of-well. I felt more fulfilled, and other coworkers were able to recognize strengths.

4. Timing is everything

One of my first big projects at GitHub was to redesign our product documentation. I put a lot of work into this. I spent time understanding the complex content hierarchy so I could figure out how to best design its navigation. I figured out how to extend our product-focused design system for this type of content. I worked with an illustrator to add personality to otherwise dry content. This was the first thing at GitHub that I had owned end-to-end, and I was proud of it.

And then the project got paused indefinitely while the company figured out a larger product strategy that would majorly affect all the work I had just done. I was gutted. Usually when things went wrong, I could at least learn from the experience. But with this, there was nothing I could have done differently to change things. It was going great… and then it just stopped.

I have seen a lot of incredible work at GitHub meet a similar fate. I’ve also seen, understandably, many people get extremely frustrated when months of work seemingly get thrown away. But the benefit of being somewhere so long is that I have also seen projects emerge from their dormancy. Many of the most successful projects I’ve witnessed were on their second or third go around, and were so successful because they had one thing on their side: timing.

My first takeaway here is to always look at product decisions through this lens of time. Why is this important now? What else is happening in the product or with competitors that could hinder this? Are we putting too much effort into this too soon?

My second takeaway is to rethink the concept of shipping all together. We sometimes put too much importance on shipping, when deciding not to do something is often the harder, and smarter, decision—and should be celebrated. With so much weight on shipping The Big Thing, we forget how important it is to work incrementally. If it felt like we threw a lot of work away, did we bite off more than we could chew?

And last, it has taught me the importance of storytelling, documentation, and leaving a record of your work. People come and go from companies, but good ideas remain. Leaving time capsules of your thinking and learnings will ensure that your ideas live on.

5. I don’t know what I don’t know

I’ve onboarded many people into the company, and have noticed that after a few months it is common for new employees to start prefacing their questions with “I should probably know the answer to this, but…” Generally, there is absolutely no reason why they would know the answer to the thing they’re asking about. After about a year or two they come to realize that the vastness of information is unlearnable, and the frustration shifts to how hard things are to find. It is not until year three or four that people let go of all expectations of knowing and surrender to the fact that they don’t, and will never, have the answers.

This is a freeing milestone to hit. It allows you to have a beginner’s mindset without the self-consciousness of being an actual beginner. Freely admitting that you don’t know the answers allows you to explore, and to bring others along with you.

It also changes how you see others. I suddenly realized that no one else really knew what they were doing either. We’re all imposters, figuring it out together.

6. Run towards fear

There have been many work opportunities I’ve been faced with over the last 6 years that have terrified me: Becoming a manager for the first time. Delivering difficult feedback. Pushing back against leadership. Switching orgs. Taking on more responsibility.

The same goes for outside of work too. Traveling to new places outside my comfort zone. Moving to new states. Deciding whether or not to have a child. Setting goals that I’m not sure I’ll meet.

There’s a quote I love, which is “fear is excitement without breath”. Usually when I feel fear, it’s excitement in disguise. I try to lean into that feeling. I breathe and assess what the worst that could happen if I run towards it. Usually that worst case scenario is not as bad as what my body is telling me.

This can be on a smaller scale too. By nature, I am a very non-confrontational person. But I’ve found that usually if the thought of a conversation makes me anxious, it means it is a conversation that is worth having.

One of Max’s (previous VP of Design) many memes was “Hard choice, easy life. Easy choice, hard life”. Decisions that feel scary in the moment almost always pay off. The things in my life that I am most proud of have started with this feeling. Go towards it, do hard things.


+ more