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
C2 Developer's perspective
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.
Hiring manager's perspective
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.
Top comments (8)
I am literally Candidate 2. Work has never really been about the money for me so I donβt think that would effect how hard I work. However I feel I would thrive in any environment other then the one I am in. I think more companies should invest in hiring more towards the C2, but maybe Iβm a little biased.
@aaronholla I am mostly towards candidate 2 and understand the feeling and perhaps its the reason of my post. Thanks for the comment.
Thank you for posting it, itβs an interesting topic that I donβt see brought up enough. I would be curious to hear from a hiring manager to see their take on this.
Depends on the job. If the company is looking for someone to come in and produce code than C1 is obviously the right choice. If they, on the other hand, is looking for an employee, someone that they want to be part of the company, then I would go with C2 (if we are talking about two candidates that both have personalities that would fit with the team they would be working with).
Reason 1: People who evolves and grows with a company are more likely to get attached to that company.
Reason 2: C2 doesn't know it's own value. That means that you can top their own perceived value and it will be easier to make them feel valued. Another reason to be loyal.
Reason 3: Good experience is easy to give (if you have a good company) but testing how you react to bad experiences is harder. You have one that has persisted through bad experiences and one that hasn't been tested. If you have become better than expected through a bad experience you know more about how you'll react to good experiences than the other way around.
Reason 4: If you are looking for a coder, sure, go with C1, but if you are looking for a developer, you want someone that tackles problems.
I might be biased in this. I'm not the best 'producer' of code. I tend to be slow when it comes to routine tasks. Where I shine is in problem solving. I am good at turning a problem inside out and upside down until I solve it. I can jump straight in to just about any language and given a day or two start finding issues and (even though I don't understand everything) manage to find solutions that better coders have been unable to. Not because I'm such a great programmer, but because my mind loves to solve problems. Most companies need both these types of minds, and in my experience they often have the coders in place and could use more developers. The exception to this is smaller companies and start ups where you usually have more developers and fewer coders and need those that can come in and tidy things up and get the product shipped.
Basically, like way to many questions like this, the answer must be:
It depends.
Yes sure I know it always depends, just wanted the topic to be discussed and thank you for commenting.
I like the way you have presented the arguments especially R3 and R4 I could not have said those myself.
I feel more like the problem solver type of developer and I do feel that problem solvers are undervalued very often or perhaps companies are not much in need of them (us).
I believe that the reason it's easy to undervalue problem solvers is because when you don't need them, you don't need them. When you do need them it's mostly to late to get them and you manage without and loose money, and when you have moved on you are again in a state of not really needing them.
It's easy to see that you need problem solvers, developers, when you are developing a product. It's a lot harder to have the foresight to see that you will need them when you are managing a product.
Another reason, let's call it:
The senior dilemma
We will need more seniors, there's a lack of seniors, it's expensive to keep more seniors around until we come to the stage where we'll need them, when we need them it's probably to late to start looking for them or we'll have to overpay someone that mostly wants as much money as possible.
The sollution to the senior dilemma?
Reason 5: The junior solution
We get juniors now, some will stick around and be seniors when we come to the stage where we need seniors. Others will move to other companies and remember us as the ones that gave them a break, brought them further along their journey. Not only will this give us seniors that we won't have to overpay due to our need being so high while the supply being low on seniors, it will have given us help along the way with things we don't want our seniors to focus on and now that these people are seniors they know our products, company and, and this is a big one, the needs of our customers.
A junior isn't a title that tells you how long someone has worked in tech, it's simply how much responsibility they are able to handle in the area where they are working. If someone comes in with a score of 85% due to lack of experience with a good working environment with correct work flow, readable code, testing and code reviews, that is a junior. With the kind of experience you are talking about, it's a junior that won't take to much effort to make into a senior.
I think there's a missing piece in the puzzle: the type of team either C1 or C2 would join. If C1 is used to a certain way of doing things, they might not fit very well in a chaotic team without structure. On the other way C2 might feel stifled in a structure that's too rigid. But maybe both have adaptable personalities and would thrive either way.
My personal experience is that payment is not the biggest motivator. Yes, maybe 5 times more than the previous salary IS a motivator but if the environment is not the right one they will probably complain at some point.
So, probably taking that into account you can understand if C1 is better or if C2 is better.
I'm not a hiring manager though :D
@rhymes thanks for the answer.
Lets assume that both are very adaptable and C1 would be joining a team that he is used to, and C2 will be joining a better organized team so I don't consider it will have any negative effect to either one, that is why I did not mention it in my scenario.
Payment is not the motivator per se but if one has to overwork on their job and the money is not enough they might have to work on other extra jobs and certainly and on the end they are not as productive/efficient as they can not give the amount of detail needed for each task/project.
This is how I see C2 in the extreme scenario above.