Distributed Revision Control and Source Code Management
San Francisco, CA (HQ), Remote Global (65%)
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.
20 Open Positions
Pair programming is one of our primary values—not only an integral part of our engineering process but a core part of our collaborative culture more broadly. To learn more about our commitment to pair programming and the benefits it brings to individuals, teams, and clients, read this article by one of our Engineering Leads. Here, Uzair describes how he went from being skeptical about pure pair-programming to becoming fully hooked.
Our engineering culture is built upon camaraderie and great ideas. We have dedicated pairing stations around the office to onboard new teammates and review code, demo days where we share our latest projects, and quarterly hackathons to dive into and ship new features.
Our interviews also involve pair-programming, where candidates partner with the interviewer on a practical programming task, often in our codebase. The interview helps us assess how the candidates might collaborate on our team.
This is strongly supported through our contracts by ensuring that we’re booked for 2 people during a client week. Pairing together helps us transfer knowledge, solve problems together, and catch mistakes quickly.
In addition, pairing supports many of our other values. It’s easier to maintain a high quality codebase when we encourage each other to write tests and documentation. Pairing helps us develop a safe environment to fail since we share our processes and outcomes with a co-worker. Pairing on all client projects helps us ensure that knowledge isn’t concentrated in a single individual and gives us flexibility when scheduling work.
Want to List Your Company?
Submit a team profile!
Select 8 Values
Contact me (Lynne 👋)
Qualify Your Values
Reach Thousands of Devs
Find Value-Aligned Candidates
Have Meaningful Initial Conversations
Don't Fill Roles, Hire Teammates
You can post as many job openings as you want.