Q:

Level 1 C# / SQL Server Developer Test

We're looking to hire a Level 1 C#/SQL Server developer. In our company, a Level 1 developer would have 3-18 months of development experience. When we hire developers, we typically have them create an application based on requirements we give them. They are free to do this at home, within a reasonable amount of time. 
We've typically hired Level 3 developers (> 10 years experience) in the past. This will be the first Level 1 we have hired.
I'm looking for help on what sort of requirements/project definition I could come up with to fairly test a Level 1 candidate. Generally speaking, I want this to include creating a database with perhaps a handful of tables, and then creating a WinForms application to read and write to that database. I want to test their skills in designing a database and their skills in creating a C# application to interact with that database.
I want to make it a challenge for a Level 1, but not too easy or hard.
Any ideas?

A:

There are plenty of ideas that you could use:

Travel Booking System
Simple Bank Transfers
Pet Shop
Staff Directory
Help desk Ticketing system

These are just a few things off the top of my head.  What I would suggest is choosing a subject that the candidate is familiar with.
By this I mean, if they are interested in a certain sport etc then make the example based around something they know rather than something obscure that they don't know anything about.
This is a test of their ability to code and create database schemas - you don't want them to be concerned about whether they have the scenario correct.

A:

You may learn more about a candidate by leaving the problem open-ended. Tell them to create a solution to a problem of their choice that includes at least:

A database with n tables
A UI with m forms

You'll learn about their interests, how they handle vague requirements, and their problem solving instincts. This is usually more valuable than their ability to follow a rigid spec since specs are notorious for changing.
Check their communication skills by having them explain their choices. If you want to be thorough, have them submit a short written explanation with their solution.

