Technical Interviews

2023 02 01 head

Your sole goal is to hire a qualified collaborator with potential.

For example, you need a great software engineer with social competence. He is a professional developer and has knowledge of the technology stack [1] your company is using. The candidate naturally understands agile and DevOps approaches.

How can you convince him to sign the contract and start working on your cool product?

Hiring is like dating.

Both parties shall be motivated to deepen their relationship and enter a binding agreement. Both parties are willing to invest and believe it will be beneficial for them.

Dating means you have competition. Do your best to convince your potential partner.

Ask yourself why a candidate should decide to work in your company and develop this awesome digital product?

It is worth investing time and effort to succeed [2].

Before the Interview

You must prepare for the interview. You have read the CV of your candidate and visited her LinkedIn profile.

Try to find out if the candidate worked on open source projects. Look at the documentation and source code the candidate has written. Read the articles and blog entries published by your candidate.

Expect a good candidate will also interview you to find out more about your organization and culture. It is almost like a dating meeting. Both parties shall have an opportunity to find out if they are a match.

Google provides hints how to work with creative software collaborators [1].

Perform the Interview

I want to find out how the candidate performs tasks and interacts with his team. I am inquisitive of how she learnt new skills. The area of interests are:

Coding

How do you write source code?
What do you think about technical excellence [2, 3, 4, 5, 6]?
What approaches do you use to refactor or improve source code?

Software design and architecture

How do you design your components?
Which techniques do you use for evolving your software architecture?
What do you think about design and architecture approaches [7, 8, 9, 10]?
What are your approaches with existing and legacy solutions [11, 5]?

Agile approaches

What do you think about agile approaches [12, 2, 8, 13]

Teamwork, soft skills, teaching and mentoring

How do you teach and mentor team members? [14, 15, 16]

Why does she want to work in our company?

Please elaborate. What do you find interesting about our company, our vision, and our products?

Why is she a software engineer?

Tell us your story, please.
Being an engineer is also a passion.
Professional engineers have ethics and are aware of their social responsibilities.

The areas are like the ones I check when receiving a CV [1].

Write-Down Your Findings and Recommendations

You should perform a technical interview with a colleague. Try to write your impressions and findings using the same template for all candidates.

Compare your findings to diminish biases and misunderstandings.

Inform the candidate about your decision. Communication shall be timely and respectful.

Have An Onboarding Program

  • Avoid a checklist, avoid predeclared correct answers.

  • Aim to uncover reasons why you should hire a candidate.

  • Do not say: we want developers who can be exchanged.

  • You want to hire good people that can learn and improve.

  • Your organization should promote that people can learn and evolve.

  • Be clear what you are looking for: make team better, bring new things, what do they value in code and architecture.

  • How do they solve various problems in areas such as architecture, design, process, code, bug?

  • Open-ended questions, to start a discussion.

  • Make criteria clear, if a criteria is not reached, inform them that you expect to reach the criteria.

  • An interviewee should also interview the interviewers.

A powerful technique is extensive pair programming and pair design in particular during probation time. Your new collaborator leans on how her team is working and the specifics of the product.

The team understands the strengths of the trainee. They identify improvement areas to improve her effectiveness when working on the product.

Show your best as a modern development shop. Your collaborators have access to 4K displays and professional keyboards, mice, headsets and desks [3].

The employees are using state of the industry platform to create the products and to collaborate as teams [4].

References

[1] L. Bock, Work Rules! Grand Central Publishing, 2015 [Online]. Available: https://www.amazon.com/dp/1455554790

[2] R. C. Martin, Clean Code. Prentice Hall, 2009 [Online]. Available: https://www.amazon.com/dp/0132350882

[3] R. C. Martin, The Clean Coder. Prentice Hall, 2011 [Online]. Available: https://www.amazon.com/dp/0137081073

[4] R. C. Martin, Clean Craftsmanship. Addison-Wesley Professional, 2021 [Online]. Available: https://www.amazon.com/dp/B095C16LSW

[5] M. Fowler, Refactoring, First. Addision-Wesley, 1999 [Online]. Available: https://www.amazon.com/dp/B004PQQRK2

[6] A. Scott and P. J. Sadalage, Refactoring Databases. Addison-Wesley Professional, 2006 [Online]. Available: https://www.amazon.com/dp/B001QAP36E

[7] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns. Addison-Wesley Professional, 1995 [Online]. Available: https://www.amazon.com/dp/B000SEIBB8

[8] R. C. Martin, Clean Architecture. Pearson, 2017 [Online]. Available: https://www.amazon.com/dp/0134494164

[9] E. Evans, Domain-driven design. Addison-Wesley, 2004 [Online]. Available: https://www.amazon.com/dp/0321125215

[10] N. Ford, R. Parsons, and P. Kua, Building Evolutionary Architectures: Support Constant Change, First. O’Reilly Media, 2017 [Online]. Available: https://www.amazon.com/dp/1491986360

[11] M. C. Feathers, Working Effectively with Legacy Code. Prentice Hall, 2004 [Online]. Available: https://www.amazon.com/dp/0131177052

[12] R. C. Martin, Clean Agile. Prentice Hall, 2020 [Online]. Available: https://www.amazon.com/dp/0135781868

[13] N. Forsgren, J. Humble, and G. Kim, Accelerate: The Science of Lean Software and DevOps. IT Revolution Press [Online]. Available: https://www.amazon.com/dp/B07B9F83WM

[14] G. M. Weinberg, Becoming a technical leader. Dorset House, 1986 [Online]. Available: https://www.amazon.com/dp/B004J4VV3I

[15] R. Schwarz, The Skilled Facilitator. Jossey-Bass, 2002 [Online]. Available: https://www.amazon.com/dp/0787947237

[16] E. H. Schein and P. A. Schein, Humble Inquiry, Second. Berrett-Koehler Publishers, Incorporated, 2021 [Online]. Available: https://www.amazon.com/dp/1609949811


1. The singular form is wanted. A small or medium company SMC should minimize the technologies they used to build their digital products.
2. Once you have found your partner, invest time and effort to keep your relationship healthy.
3. I am regularly depressed that professional developers still do not have access to high-resolution displays or high-quality headsets.
4. I still encounter teams without tools like Slack. Worst, some still cannot use development platforms such as GitHub, GitLab, BitBucket or Azure.