A red flag that I have become quite sensitive to, is when a candidate complains about the past. This can take many shapes:
- The poor state of a codebase and the competence of who worked on it.
- Lack of empathy towards someone’s behaviour.
- Spending time badmouthing particular individuals.
- How much of a pain it was to work for some ex-employer.
These also vary in intensity. It can go from a small comment, to a rant. I am sympathetic to these remarks - we all been there one way or another. When this happens, I further drill on that point to get a better view of what they mean. Sometimes the candidate is able to recover, sometimes they don’t and further dig themselves.
Candidates that demonstrate these behaviours can have a multitude of traits that are not conductive in a team. For example, candidates that double down on the incompetence of a previous team can be arrogant. If they work with less technically good colleagues, the latter will suffer. They can also have low Emotional Intelligence (EQ). A classic example is when they solve conflicts by using the argument “code is king”. Software Engineering is a people centric endeavour - much like any other activity that has at least two humans interacting. On the other hand, the candidate might have felt comfortable discussing past bad experiences with the interviewer. Or that even though they complained about ex-teammates, they are wonderful people to work with. But as an interviewer, you can’t take the risk. Rejecting a false-positive is the safest approach.
High EQ engineers can discuss the poor state of the codebase, without raising any red flag. For example, they can mention that the previous team was under immense pressure and had to cut corners. Or that the client was unclear about what they wanted and that it led to odd architectural decisions. Or that the team was mostly juniors that had little to no guidance. In all cases the person shows that a) they can empathise with a struggling team b) they take the time to get the context behind past decisions.
There’s nothing wrong about discussing what works and what doesn’t work for you as an individual. For example, the kind of people you like to work with, or the sort of company culture that most energises you. However, as a candidate, when interacting with someone you don’t know it’s always safer to give a positive spin on whatever you share.