GitHub has changed the way software is built. While GitHub-the-product must deliver immediate value to software engineers, we also have a unique opportunity to look farther ahead and identify how to make software development faster, safer, easier, and more accessible.
This is the mission of GitHub’s Office of the CTO. We research the current state of software engineering to understand what can be improved, and illustrate the future through working prototypes. We’re looking for talented polymaths to join us!
You’ll work with a small team of researchers to explore the future of software development in order to guide GitHub’s product and engineering decision-making. Your north star is ensuring that GitHub remains at the heart of software development. Your secondary goal is to project GitHub’s technical prowess — our published work should be inspirational, insightful, and informative to developers everywhere.
Research Engineers conduct investigations and build prototypes. With few constraints on our solution space, our hardest task is scoping our research so that we are able to produce impactful results. We will have an order of magnitude more ideas than we are able to pursue; choosing wisely is part of the job.
The domains of exploration are varied and will require an ability to understand, investigate, and implement prototypes across a wide range of technologies.
We do not work with production GitHub systems; our focus is on innovation and velocity. If we do our jobs well, we provide a map of the territory that de-risks engineering projects. From time to time, we may be called upon to investigate specific, high-priority topics.
These are the general qualities that candidates must possess in order to succeed in this role.
Comfortable identifying and justifying research goals in situations of ambiguity, and executing towards those goals without explicit direction.
Finds ways to build prototypes that clearly articulate a thesis to others. Able to prototype quickly and evaluate ideas strategically.
Is an effective and inclusive communicator, comfortable with remote communication practices. OCTO’s currency is ideas; the health of our team, our execution, and our results rests on our ability to communicate well.
Able to collaborate with members of OCTO and the broader GitHub Engineering community to identify fruitful areas of investigation, inform OCTO’s point of view on issues/opportunities, and define projects to enhance our understanding of these topics.
Comfortable managing interactions with stakeholders around timelines and milestones. Proactive, consistent communications are key to our working relationships, and a good guardrail against rabbitholes.
5+ years of experience writing and shipping software. This is a senior engineering role! That said, we are not primarily looking for raw coding ability. Experience is about more than your ability to write code and debate the finer points of $LANGUAGE_FEATURE.
Are a generalist with some areas of deeper knowledge. We will also consider candidates who have specialized in a relevant field.
These are more specific abilities we’re looking for, but it is the rare human who possesses them all. Think of this as a descriptive sketch, not a checklist of requirements. Be comfortable applying even if you don’t have all of them.
A deep understanding of GitHub’s industry and business context, and the ability to be articulate about topics related to our product and audience.
Has held roles that deal with topics at the boundary of human knowledge regarding software development and developers.
A demonstrated ability to ship software using a variety of technology stacks. You are not afraid to read source code. You are comfortable picking up new technology stacks in the normal course of work.
Have significant experience with one or more frontend technologies. We currently default to Typescript and React for the web, but “whatever helps us ship” is the top concern.
Have significant experience with one or more backend technologies: server-side environments, compute, datastores, networking, infrastructure, devops, security.
Have significant experience with open-source software, communities, and the systems that these communities use to self-organize and ship software for others to use.
Have significant experience operating production systems at a nontrivial scale, and are familiar with the common patterns and pitfalls of that work.
Have significant experience in another area of computing that is relevant to our mission. Human-computer interaction, distributed systems, $YOURTHING.
Who We Are:
GitHub is the developer company. We make it easier for developers to be developers: to work together, to solve challenging problems, and to create the world’s most important technologies. We foster a collaborative community that can come together—as individuals and in teams—to create the future of software and make a difference in the world.
Customer Obsessed – Trust by Default – Ship to Learn – Own the Outcome – Growth Mindset – Global Product, Global Team – Anything is Possible – Practice Kindness
Why You Should Join:
At GitHub, we constantly strive to create an environment that allows our employees (Hubbers) to do the best work of their lives. We’ve designed one of the coolest workspaces in San Francisco (HQ), where many Hubbers work, snack, and create daily. The rest of our Hubbers work remotely around the globe. Check out an updated list of where we can hire here: https://github.com/about/careers/remote
We are also committed to keeping Hubbers healthy, motivated, focused and creative. We’ve designed our top-notch benefits program with these goals in mind. In a nutshell, we’ve built a place where we truly love working, we think you will too.
GitHub is made up of people from a wide variety of backgrounds and lifestyles. We embrace diversity and invite applications from people of all walks of life. We don’t discriminate against employees or applicants based on gender identity or expression, sexual orientation, race, religion, age, national origin, citizenship, disability, pregnancy status, veteran status, or any other differences. Also, if you have a disability, please let us know if there’s any way we can make the interview process better for you; we’re happy to accommodate!
Please note that benefits vary by country. If you have any questions, please don’t hesitate to ask your Talent Partner.