I'm asking the candidate to rearrange the flow of a simple social media application.

Instead of having to log in/register to access the app, users land into the app directly and only have to log in/register if they want to interact with content or write a comment.

Is 3 days enough to learn the existing Swift architecture, implement the change and test it?

  • 1
    We can't know the answer to this question, and as such it can't be answered. For starters we have no idea of the state of the source code and the methodology (if any) used to construct the existing app. We also don't know how much modification will satisfy the new requirements. And finally we have no idea about the strength of your candidate. Only you know the answers to all of those parts.
    – Peter M
    Jun 5 at 18:38
  • 9
    Zero, unless you're going to pay them. Jun 5 at 18:38
  • Why zero? Do take-home iOS tests have to be paid work per industry standard? Jun 5 at 18:45
  • 5
    Any kind of "test" that requires people to spend days of unpaid time on is not a reasonable request, and is a huge red flag for anyone applying to your company.
    – Gh0stFish
    Jun 5 at 20:34
  • 3
    How long did it take you to do the change? Or you haven't done it?
    – Kilisi
    Jun 7 at 2:14

1 Answer 1


The reason you get so many downvotes and close-votes is that it is a stupid idea from the start for so many reasons...

  • Assuming your candidate is actually any good, they already have a job. So giving someone "4 days" starting from a Monday is basically no time at all, while giving them "3 days" starting on a Friday might be reasonable.

  • Giving someone "homework" is not going to tell you anything. They could just send the whole thing to their buddy or even a paid service overseas.

  • Giving someone experienced multiple days of homework unpaid is insulting. You may get away with it if you are Apple or Google, but I would guess you are not.

  • Giving someone iOS work is implying they own a Mac. Something you as their potential employer are supposed to provide them with. If you don't sent them a Mac to use for the time, you really have not understood iOS development at all, or think your company is so important people would just buy one for the interview. Please note that you could get away with Android development, because it just requires any computer and free tools. Something a candidate will probably have anyway, even though technically the same logic applies.

So... how many days? Doesn't matter. You could give two or thirteen-and-a-half, it doesn't make a difference. The result will always be useless for your purpose of figuring out if that person is a good developer.

If you want to figure that out, let them develop while your technical person watches. It doesn't take more than 30 minutes tops to figure out if they know what they are doing or not. Maybe an hour. And no, the app won't run by then. Because that takes time. But figuring out whether the person knows what they are doing does not. It just takes someone with experience in iOS development.

  • "Giving someone iOS work is implying they own a Mac." If the jobs is developing things for {platform}, implicit requirement of actually using said {platform} does not sound entirely unreasonable.
    – J. Doe
    Jun 6 at 10:55
  • @J.Doe I've certainly worked at Mac shops without owning a Mac. Jun 6 at 19:20

Not the answer you're looking for? Browse other questions tagged .