Research Engineer at GitHub
Title: Research Engineer (Prototyping)
Location: Remote – Global
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 Next. 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 operate on production GitHub systems in the normal course of our work; 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. Next’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 Next and the broader GitHub Engineering community to identify fruitful areas of investigation, inform Next’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 rabbit holes.
- Have significant 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 comfortable reading 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.
Sign up for Daily Remote Job Alerts!