Interestingly I know a few carpenters and they all have personal projects.
The analogy isn’t right because you’d need a similar carpentry task that takes 30 minutes like fizzbuzz (that should really take 5 minutes). It would be like asking a carpenter to put together their workstation from a disorganized shop. A pretty reasonable request.
Lots of people complain about this approach, but it is confusing as not a single good programmer has ever been bothered by coding screens. Who are these people who get upset? And where are their GitHub portfolios? Are there that many bullshitters who aren’t confortable enough in their skills to spend less than an hour on coding problems as part of an interview?
Is it really a 1-2 hour project? 1-2 hours is enough to set up a repository, project files, boilerplate code, and solve perhaps very simplified version of a problem. Each time I really spent 2 hours on take home assignment, the recruitment process terminates shortly after I submit the solution. It’s asking for free labor. Never ever a fully functional web application solving some problem will take 2 hours to create and those recruiting know it very well, oftentimes they’re just arrogant cunts testing for obedience.
Alternative version:
Interviewer: Are there any tables you construct in spare time and expose for public use?
Carpenter: huh?!
Interviewer: To proceed we will need you to construct a chair for us, for free.
Carpenter: [starts throwing chairs]