Skip to content

Instantly share code, notes, and snippets.

@maorfr
Created July 11, 2019 08:33
Show Gist options
  • Save maorfr/572666cf462fa6842595dfedb4f2e89d to your computer and use it in GitHub Desktop.
Save maorfr/572666cf462fa6842595dfedb4f2e89d to your computer and use it in GitHub Desktop.
## Culture
### What is your code review thought process?
*Goal*: understand if the candidate is thoughtful and considerate when doing code reviews. Hint: answer should be more than "check the style".
*Follow-ups*:
- Can you tell us a time where you advocated for not merging a patch?
- What do you like to see in commit messages? Why?
### What is your preferred medium of technical decisions?
*Goal*: Figure out how this person likes to communicate on a team. Obviously this depends on the situation but we can dig into that too.
*Follow-ups*:
- How does this change if the team is remote or distributed?
- When are other methods preferrable?
### How do you know what to work on next?
*Goal*: Understand how this person likes to stay productive; the goal is to get a clear view if we will be able to support their workflow.
*Follow-ups*:
- How has figuring out what to work on next changed throughout your career?
- In what job did you feel the most/least productive, why?
- Do you have any habits to get you focused on a problem?
### Have you done customer support or bug triage in the past?
*Goal*: Understand the candidates interest and process around this critical part of engineering.
*Follow-ups*:
- How are your responses to customers different from those to your engineering team?
- What do you do when communication between you and a user isn't working well? For example you are both confused.
- Are there teams or groups you have worked on that did bug triage or customer support particularly well? What made them effective?
- Are there times in the past where you have had to advocate to the team to fix particularly tricky issues that you couldn't get done on your own? How did you do it? What was the outcome?
### How do you keep on top of the latest technolgy?
*Goal*: See if the candidate has an interest in constantly improving their skill set and has a though process around it.
*Follow-ups*:
- What mailing lists or websites do you read regularly?
- Do you have any side projects you worked on recently?
- Is there a new technology you are particularly excited to work with? Why?
### What was a recent high-five moment with your teammates?
*Follow-ups*:
- What was a bad moment that didn't work well?
## Open Source
### Have you contributed to an open source project?
*Goal*: understand if the candidate has contributed to open source, understands how to work within a community and how to problem solve in that community
*Follow-ups*:
- How do you figure out how to contribute code to the project? Did you ask questions first or just dive in?
- Were you ever involved in a conflict about a technical discussion? How did it resolve? How did you take it?
- Have you ever maintained a code base? How did you deal with code that was unmergeable?
- What are the signs of a healthy open source community?
### Tell me about a time you had to reject a pull request
*Goal*: learn if the candidate is generally aware of best practices around fostering open source communities. Hint: the answer should not be "closed and told the person they are an idiot"
*Follow-ups*:
- How did the contributor take the feedback?
- Did that person end up contributing again?
### Tell me about a time you had to patch an open source project
*Goal*: learn if the candidate is generally aware of how to be involved in open source.
*Follow-ups*:
- Where did you turn for help?
- Did your contribution get accepted? If not why?
- Did you end up carrying the patch yourself?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment