Overview

GitHub is changing the way the world builds software, and we want you to help build GitHub.

We’re looking for an engineer to join our Desktop Application team in developing our GitHub Desktop client application. You will work with our team to:

  • Make it easy for coders to commit their work by providing a UI to interact with their Git repositories
  • Integrate the right Git and GitHub workflows into Desktop
  • Provide coders a safe workspace to handle confusion and gotchas around Git and their work
  • Improve our Open Source community

Stack: The application is built on Electron, and makes significant use of TypeScript and React.

A day in the life of a Desktop Application Engineer

Our team is distributed worldwide which means we work asynchronously most of the time. Your typical week would include:

  • Collaborating with design, QA, analytics, support, and product management to understand the problems we want to solve and exploring how we can solve them
  • Responding to feedback from design and product management
  • Discussing and collaboratively solving engineering and product problems with engineering collaborators in Slack
  • Opening a Pull Request to implement the next most important feature or fix the most critical bug
  • Trying to reproduce a reported bug and responding to issues with the open source community
  • Reviewing your teammates’ Pull Requests and providing helpful feedback
  • Working with your engineering manager in your one-on-one meetings to grow your team and career

Because we are an open source project, you can always visit our repo on https://github.com/desktop/desktop to see what we are working on and how we interact with the community.

Curious what features you might work on with our team? You might find yourself working on something akin to these issues:

Our goal is to work together to get you to a point where you can work on any feature!

Responsibilities:

Your responsibilities on GitHub Desktop would be to:

  • Ship features that improve people’s workflows with Git, GitHub and other collaborators
  • Collaboratively define and prioritize projects and tasks
  • Encourage the technical growth of your peers
  • Review code and provide thoughtful, constructive feedback for your team and the community
  • Triage, reproduce, and debug technical support requests, bugs, and feature requests reported by users in our Issues on GitHub
  • Help maintain and evolve our internal infrastructure
  • Foster an open source community around the products we ship

Qualifications:

  • Strong written communication skills
  • High degree of empathy
  • 2+ years experience as a full-time professional coder
  • Experience with JavaScript
  • Experience working asynchronously on a remote, distributed team (does not have to be professional experience)

Preferred Qualifications:

There are only a handful of folks who meet all qualifications. Is this you? Excellent, please apply. But we care most about developers that have a track record of caring deeply about shipping software that helps people with their work. Either way, we want to hear from you.

  • Experience with React
  • Experience with TypeScript or static typing in general
  • Desktop application development experience for any or all of macOS, Windows, and Linux
  • Familiarity with Git
  • Willingness to develop on multiple platforms and languages
  • Knowledge of testing, profiling, and debugging practices

Interview Process

Applying for a job can be stressful and we want to make sure you can put your best foot forward. Here’s what you should expect when you apply:

Application Questions

To get an initial idea around your experience, we’ll provide a few questions and prompts that can be filled in when you submit your application. We’ll expect nothing longer than a paragraph for each of the questions.

Technical Exercise

Programming is a large part of the job, so if we think could be a good fit based on your application, we’ll ask you to do a take-home technical exercise. The exercise will use JavaScript and React and you’ll have 3 hours to do the exercise and you can do it when it’s convenient for you.

Interviews

Programming is important but it doesn’t happen in a vacuum; we have to work well with our teammates. If the technical exercise goes well, we’ll schedule a pairing session to work alongside a teammate and some interviews to assess your communication and interpersonal skills. We will use a fixed set of questions with a rubric so that everyone is measured by the same criteria. You will also have the opportunity to ask any questions you have about the team and working at GitHub at the end of each interview.

Our Talent Team will be with you every step of the way to address any questions or concerns you might have.

Who We Are:

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.

What We Value:

Collaboration: We believe the best work is done together.
Empathy: We believe in putting people first.
Quality: We believe in setting the standard for excellence.
Positive Impact: We believe in making the world a better place through our work.
Shipping: We believe in creating things for the people using them.

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 over half of our Hubbers work, snack, and create daily. The other half of our Hubbers work remotely in 18 countries across the globe. Here is a complete list of where we can hire!

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!

Where We Can Hire

Please note that benefits vary by country, if you have any questions, please don’t hesitate to ask your Talent Partner.