Interviewers assess you relative to other candidates they have met. There is no standardized grading system.
- False negatives are acceptable, meaning it is acceptable (but unfortunate) that some candidates are rejected during an interview process that would actually be great employees.
- False positives are not acceptable, meaning people who do well in an interview but are not in fact a good match for the company.
- It is almost impossible to measure someone’s work ethic or ability to focus in an interview scenario.
Skills we look for in Dev Lead roles
- Handling ambiguity. When faced with an ambiguous situation, do you get overwhelmed and stall. Do you tackle the problem head on seeking new information, prioritizing the most important parts, and solving the problem in a structured way.
- Multi-level communication skills. Can you communicate to the team you work with. How would you communicate to a group of senior leaders. How would you communicate to customers.
- Handling conflicts well. What are your conflict handling skills.
- Prioritization Skills. How well do you prioritize work
- Teamwork/Leadership. How do you help get your team to do things. What does being a leader mean to you?
- Getting things done. How do you get your team to deliver.
Skills we look for in Software Engineering role
- Technology Knowledge. How well do they know the technologies that we use. How well do they know the programming languages that we use.
- Problem Solving Skills. How efficient are they at problem solving. Good problem solving is not age related, you can have someone with very little experience be a top performer in problem solving
- Software Construction Skills. How skilled are they are practices like TDD, Refactoring, CI/CD, Patterns
- Communication Skills. How effective are they at communicating. Can you understand them when they talk. What are their listening skills like?
- Ability to learn new concepts. How effective are they are learning new concepts quickly.
- Collaboration Skills. How effective are they at working with others. Do they work independently, Do they pair. How collaborative are they.
- Knowledge Representation Skills. How effective are they at representing knowledge to others. Can they whiteboard information.
Advice to interviewers
- Good questions have a series of hurdles for a candidate to overcome.
- Avoid “scary” questions. Questions that involve specialized knowledge are often scary questions.
- Candidates should feel good about the experience. Be warm and friendly towards candidates.
- Whether a candidate has prepared for an interview or not is probably not a reflection on their skills as an employee (there could be other things competing for their time like family)
Types of questions
- Sanity Check - easy problem solving or design questions. Assess minimum degree of competence in problem solving
- Quality Check - designed to be rigorous and really make a candidate think. Used when problem solving skills are of high importance
- Specialized Questions - these require knowledge of specific area. Should only be asked if you are looking for a specialist and you can’t have someone learn on the job
- Proxy knowledge - questions you would expect a candidate to have answers for even if they don’t require it to do the job.
Things you should be asking as the hiring person
- Do we need a specialist? If so, what specialist skills are needed?
- What does the team need that they are joining
- What are the quality of the questions being asked by the candidate in the interview. What do those questions demonstrate.
Advice for CVs
- On CV when rating languages put a measure like Novice, competent, expert. Avoid 1-10 ratings, what does that mean. Avoid putting how many years you have worked in a language.
- Certifications, We are biased towards candidates that don’t over certify.
Things to filter for
- Filter for arrogance
- Filter for answers that are too detailed
- TestDome, evaluate an individuals tech knowledge
- Hiring Engineering Leaders
- The Software Engineer’s Guide to Interviewing Software Engineers