"I write code, I don't do tests"
I was reading 5 questions to ask in a technical interview and it immediately struck a chord about the topic of certain interview candidates having the deeply-harbored attitude of "I write code, I don't do tests" or an attitude that their responsibility ends when the coding is complete. They may be great engineers and end up clearing interviews with flying colors, but to their surprise when they join later, they discover that they are pushing fragile code to production. Moreover, there is a discovery that the engineer doesn't like writing tests as a habit and doesn't fit into the team culture. Sure, the engineer maybe coming from a company where due to business pressure tests were not a priority. But if it reaches a point where the engineer is not willing to change despite having been given feedback, then this is not a great place to be in for both the candidate and the company.
So how do we find such candidates during the interview process itself? We can dig deeper by asking some right questions. For example:
What role do you play in quality assurance?... Give an example of how you ensured quality was good before production roll out... Let's talk about the most challenging scenario that was tested.
The goal is to check
- how much responsibility the candidate likes to take for testing
- how much automated vs manual testing he likes to do
- if the scenarios tested are meaningful or just being done for the sake of showing good code coverage numbers.
If you find that the candidate has not been writing meaningful tests, find out if there are extraneous reasons for that happening (e.g. business pressure) or its by habit. If a person actually cares and is passionate, then there is always some opportunity despite pressure to write some meaningful test at some point in time in the past. There is a reason why best hires are passionate engineers with major past accomplishments.
Many companies don't have a separate QA team today and engineers have high responsibility of testing, deployment and operations as well, not just coding. To be fair to the candidate and to do the right thing for the company, it's important that candidate knows upfront about the expectations. Else the candidate may feel stifled and a cultural misfit if he were to join later.
What do you think? Please share your valuable thoughts in the comments section below.
Disclaimer: All the postings and views on this site are my own and has no bearing whatsoever on my employer's position.
Keywords: #hiring, #attitude, #PassionateEngineers, #interview, #interviewing, #ProgrammingInterview, #HiringManager, #LeadershipPrinciples