I work as a contractor which means I change projects fairly frequently.
In the past, I would sometimes accept the homework assignment. Now I refuse to do those (as opposed timed assignments where you get set amount of time, for example 2h, in which you are supposed to complete the assignment).
If the homework deadline is few days you can practically be sure that there will be candidates that will spend all that time perfecting their solution. What is supposed to take "2-4 hours of effort" in the words of the interviewer is actually the entire duration from the moment your competitors got their assignments until the deadline.
There are other reasons to refuse:
- you can spend that time working to find other offers,
- the interview is supposed to be both ways, they want to learn who you are but you are also supposed to learn who they are. Home assignments give practically nil information about your prospective employer.
- there are other ways to test the candidate with probably same or better results. Choosing a way which minimizes the effort on the part of employer but maximizes the effort of candidate shows lack of respect for the candidate.
- Home assignments are invitation for cheating. I can assume there are candidates that will take advice from others on how to solve the problems they are given so this is hardly proof of their ability. I refuse to take a test where I will be punished for my honesty.
- Even though the assignments tend to be time consuming they are typically hardly challenging. This is typically some mundane application and not really a test of your ability. My ability is to solve complex problems, organize complex logic, produce extremely reliable or efficient applications, draw from wealth of my experience to propose and discuss solutions. Yet another Pet shop written in technology of employer's choice is hardly any test. If you want to know if I can program at all you can learn it in few seconds of conversation with me, you don't need to force me to do 2 days of programming for this.
In the past, I would sometimes accept the homework assignment. Now I refuse to do those (as opposed timed assignments where you get set amount of time, for example 2h, in which you are supposed to complete the assignment).
If the homework deadline is few days you can practically be sure that there will be candidates that will spend all that time perfecting their solution. What is supposed to take "2-4 hours of effort" in the words of the interviewer is actually the entire duration from the moment your competitors got their assignments until the deadline.
There are other reasons to refuse:
- you can spend that time working to find other offers,
- the interview is supposed to be both ways, they want to learn who you are but you are also supposed to learn who they are. Home assignments give practically nil information about your prospective employer.
- there are other ways to test the candidate with probably same or better results. Choosing a way which minimizes the effort on the part of employer but maximizes the effort of candidate shows lack of respect for the candidate.
- Home assignments are invitation for cheating. I can assume there are candidates that will take advice from others on how to solve the problems they are given so this is hardly proof of their ability. I refuse to take a test where I will be punished for my honesty.
- Even though the assignments tend to be time consuming they are typically hardly challenging. This is typically some mundane application and not really a test of your ability. My ability is to solve complex problems, organize complex logic, produce extremely reliable or efficient applications, draw from wealth of my experience to propose and discuss solutions. Yet another Pet shop written in technology of employer's choice is hardly any test. If you want to know if I can program at all you can learn it in few seconds of conversation with me, you don't need to force me to do 2 days of programming for this.