I was wondering lately how a decision is made when a company is looking for a developer of any position and how the previous environment a candidate has worked for can affect the decision and in what ways.
What are the dilemma's faced when evaluating candidates from different work environments ? What is the developer's perspective and most importantly what is the hiring manager's perspective ?
Lets say for the sake of simplicity that there are only 2 candidates applying for the same position.
Candidate 1 (C1) always worked in companies that were advanced and efficient, with great managers, the salary always more than enough, the environment ideal, company paid for education and conferences and meetups, and and never had to work overtime because everyting was pretty much laid out and never had to deal with customer support.
Candidate 2 (C2) always worked in companies that were all opposite of previous candidate's, No established channels of communication or progress or reporting, unit or even functional tests were unknown, outdated infrastucture, people communicated with emails attaching DOCX revisions, has spend a fair amount of time supporting customers, probably overworked and underpaid.
Both take a technical test for a developer's position for a company that pretty much resembles C1's previous companies and C1 scores 97% while C2 scores a mere 85%.
From a purely technical view I understand that perhaps C1 deserves to get the job.
Some extreme perspectives I could think of
Has fought his/her way to become the best but it was always an uphill. He/she is thinking that if has managed to be a 85% competent while being paid X gets excited with what he/she could achieve if can land a job getting paid 2X-5X as much.
Perhaps there is no dilemma since C2 has failed to be up to the company's standards and is not fit therefore C1 will get the position.
Personally if I was to make the decision on the above scenario I would probably hire C2.
I know the above is a very extreme scenario but only presenting it in order to serve the basis of a discussion.
If anyone has some real (or even no) experience on either the developer's or hiring manager's side of things I would love to hear your thoughts or general comments.