Engineering at GitHub

GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over 24 million people use GitHub to build amazing things together across 67 million repositories. With the collaborative features of GitHub.com and GitHub Business, it has never been easier for individuals and teams to write faster, better code.

Job Openings at GitHub

Top Engineering Values

Each team is asked to select, explain, and rank their top 8 values in order of importance.
  • EQ > IQ

    When we surveyed our engineers, EQ > IQ ranked as our #1 value.

    As a remote-first team, having the ability to communicate effectively and empathize with our remote peers is vital.


    Building software is hard. Yes, knowing how to build something is key – it’s part of the skill and part of our craft – but knowing what to build and what questions to ask are rarer skills than simply the ability to implement. So, when we hire engineers for GitHub, we want to select for people that are high in both IQ and EQ.


    Because of how distributed we are, we’re able to hire the best person for the job with little regard to location, but that also means we need to hire people who will thrive in our distributed environment. We’ve managed to hire engineers that are both best of class in skill and expertise, but also incredibly nice, high quality people. To do this, we screen for quality throughout our interview process. For example, all of our final-round interviews include a section where we talk about diversity and inclusion issues in tech. Our questions and conversations are super open-ended, as we know not everyone will come to GitHub with extensive experience dealing head on with D&I. We look for people who are thoughtful, excited, and willing to participate in overall diversity and inclusion efforts.

  • Customer Comes First

    We’re always developer-first.

    GitHub is a product made for developers, by developers. While GitHub is created for and used by individuals, teams and large enterprises, our number one priority is to provide an amazing developer experience. And we think we have a pretty good sense of what our users’ needs are, considering we are developers ourselves. As members of our own GitHub community, we built Explore, which makes it easy to stay up-to-date with currently trending repositories, browse collections of curated content related to a particular field, and find curated topic pages.

  • Pair Programs

    Our pairing culture is closely connected to our flexible work arrangements.

    Especially on the tech side where we’re ~80% remote, pairing happens pretty frequently. We don’t enforce pair programming at GitHub and we’re not dogmatic about the practice, but because we’re largely remote, it helps to foster a sense of community and team building. Pairing culture varies quite a bit between teams (which also vary in size but are never larger than ~15), and people schedule their pairing sessions to accommodate each person’s timezone and schedule. Being a remote-first company means that we can hire the best people in the world because location requirements are less rigid. Part of the ethos behind GitHub as a product is that teams can collaborate productively and asynchronously. Our culture is a tangible manifestation of these two things.

  • Work/Life Balance

    We believe that if a job allows for it, people should work wherever they’re happiest.

    We encourage Hubbers to build amazing things with a high level of autonomy and self direction. Work/life balance is important to us, so we have flexible work schedules and unlimited PTO. We also offer five months of paid family leave to all new parents with the flexibility of using it all at once, or throughout the baby’s first year.


    GitHub’s core values are: Collaboration, Empathy, Quality, Positive Impact, and Shipping. We care most about what’s getting shipped, its quality, and its impact, and less about exactly when it’s happening.

  • Product-Driven

    Our product is constantly evolving.

    The product organization has been built up significantly since our SVP of Technology, Jason, joined us in 2017. He is very much a product thinker, and with iterative planning and a good strategy set in place, GitHub will be moving into new and exciting territories. At a high level, we have general strategies and directions in place to steer the company, and then what we actually build is determined at the team level. This allows individual engineers to think critically not only about how we build things, but also what we should build.


    GitHub is unique in that almost every engineer in the world uses it. It’s so integrated with software development that you’ll interact with our product on a daily basis even if you don’t join our company. For many of us, this is a huge reason we decided to work at GitHub. As engineers, we are contributing to something that not only amplifies our own professional craft, but also acts a catalyst for progress in our field.

  • Flexible Work Arrangements

    GitHub supports the most flexible of work arrangements.

    We have offices in San Francisco, Boulder, Amsterdam, and Tokyo, plus a handful of designated co-working spaces in cities including London, Melbourne, New York City, Portland, and New Orleans. However, we are still a largely remote team. There are no requirements to come to an office on a regular basis, which means you can merge code from your farm in Indiana, or from GitHub’s rooftop in downtown San Francisco - wherever is more your style!


    To help us stay on the same page, teams have two ‘mini-summits’ every year. Each team gets together, sometimes inviting partner teams, in order to roadmap and realign, set goals, reflect on the previous six months, and get in some good, old-fashioned face-to-face team bonding time. Whether your team is skiing, doing a ropes course, taking a cooking class, or volunteering together, the summits are a great way to connect with your distributed coworkers on a new level and get to know the people behind the GitHub handles even better.

  • Fosters Psychological Safety

    We look after the psychological safety of our employees and our community of GitHub users.

    We have an amazing team of Human Resources Business Partners to support Hubbers’ individual needs and concerns as they arise. Outside of that, we also have a department called Employee Experience and Engagement which is dedicated to proactively augmenting the employee experience. Within this team, we have folks devoted to developing programs and policies related to diversity, inclusion, and belonging (like Employee Resource Groups!), learning and development, and overall workplace experience.


    Hubbers have many channels to provide feedback and speak their minds. Our monthly all-hands meetings allow employees to stay updated on company happenings, and these meetings include the opportunity to submit anonymous questions to the speakers in real time. Our annual 360 reviews allow individuals to share feedback directly with their managers and peers, and our Hubber Pulse survey (conducted twice every year) offers Hubbers a safe, confidential, and consistent feedback channel. Through Hubber Pulse, we gather valuable data and actionable insights to make GitHub an even better place to work.

  • Creative + Innovative

    Software development as we know it isn’t going anywhere. If anything, it’s only going to get bigger and crazier.

    The possibilities truly are endless.


    What “product” is at GitHub has changed so much since the company first started, and it will continue to change and evolve in coming months and years. If you are an engineer who wants to build stuff for growth, we are well positioned to give you the environment you need. Software development is expanding exponentially, so we have created space for ourselves to build new things that we haven’t even considered the possibility of yet. There’s so much opportunity, so much to look forward to, and we expect many of you reading this to help us be pioneers. Check out our full list of jobs here.


    For more reading, check out our technology predictions for 2018, read other posts on our blog, and look at some of GitHub’s 2017 highlights in our 2017 State of the Octobers.

Values

  • EQ > IQ
  • Customer Comes First
  • Pair Programs
  • Work/Life Balance
  • Product-Driven
  • Flexible Work Arrangements
  • Fosters Psychological Safety
  • Creative + Innovative

Company Properties

  • B2B
  • B2C
  • Technical Founder(s)
  • Remote-OK

Team Members

  • 100 Engineers
  • 10 Product Managers
  • 425 Technology

Vacation Policy

We have a flexible vacation policy that allows employees to take the time they need to do their best work, enjoy a healthy work/life balance, and avoid burnout. Team members coordinate coverage with their manager and team for while they’re away, and are free to take time off as needed!

Tech Stack

GitHub is a Rails 4 application that is composed of a large monolith and a constellation of services written in Ruby, Go, and a handful of other languages. The app and its services are exposed both internally and externally via a GraphQL API. We primarily rely on MySQL for persistent storage, Redis for temporary storage, and, as you might expect, a lot of git repositories. We rely on Kubernetes for container orchestration.

Interview Process

The process varies by team, but the general flow looks like this: To kick things off, candidates speak with one of our Talent Partners. As a next step, the candidate completes a technical exercise. After that, we schedule an interview with 1-2 engineers from the team so the candidate can walk through (and sometimes build upon!) their exercise submission. The final round interview includes conversations with a handful of Hubbers from around the company, including their potential manager, teammates, and members of our HR and Talent teams.