ThreeWill Developer Challenge

Overview

The ThreeWill Developer Challenge exists to allow the candidate the opportunity to show their skills on a small project that simulates real-world conditions as much as possible. As outlined below, the candidate will attempt to complete a small project and will be given the opportunity to distinguish themselves by going above and beyond in various aspects of the project. It is important to note that completing the assignment successfully does not guarantee that the candidate will be hired and, likewise, failure to complete the assignment does not guarantee that the candidate will be rejected.

Timeline

The candidate will have up to two weeks to work on the exercise. There will be an initial kickoff meeting between the candidate and ThreeWill associates where the candidate may ask questions about the assignment. If needed, the candidate may also reach out to a ThreeWill associate for clarification on one occasion during the assignment (contact information is provided at the end of this document). At the end of the assignment the candidate will turn in the deliverables outlined below and, if desired, schedule a time to present their results to ThreeWill associates.

Technical Context

For this assignment the following is assumed:

  • Assignment to be completed in .NET.
  • The solution will involve creating an ASP .NET custom control as well as a simple ASP .NET web application for demonstrating the control.
  • Candidate is encouraged to use Cloudshare’s Pro service for their development environment.
  • Candidate will be responsible for providing developer tools. The candidate may use their own purchased copy of Visual Studio if they have one. If they do not own Visual Studio they may use free, express-editions of Visual Studio or a copy of the .NET SDK (note that choosing the SDK option would mean the developer builds the application using nothing but a text-editor and a command-line compiler).
  • Third-party libraries are permitted only in the case where they are free, open-source offerings. No commercial controls or libraries other than those that ship with .NET may be used in the solution.

Deliverables

At the end of the assignment the candidate will deliver the following:

  • REQUIRED: An electronic copy of all completed work. Even if the candidate does not successfully complete the assignment it is important for the partially-completed code to be turned in so that it can be evaluated for style, design, progress, etc. Submitted items should include:
    • All source code written by the candidate, including project files and other artifacts generated by Visual Studio
    • Source code and binaries for any third-party code libraries
  • OPTIONAL: Candidate will have the opportunity to present their work in front of several ThreeWill associates. The candidate will do a small, informal presentation where they describe their approach to solving the project, review the code they wrote, and demonstrate the code in action.

Functionality

ThreeWill uses an Agile Software Development Methodology called “Scrum” for our project work. More on this methodology can be found on our website (http://www.threewill.com/process) or the Scrum Alliance website (http://www.scrumalliance.org/learn_about_scrum). To that end, the assignment will attempt to incorporate some small aspect of Scrum by describing the desired functionality with User Stories. Note that on a real-world project these stories are constantly refined over the course of a project. For this assignment they are intentionally left with some gray areas in order to allow the developer latitude in what they produce and how they produce it.

User Stories

  • Marketing Department User: “As a member of the Marketing Department’s Social Networking Team I want to be able to integrate various social-media sites into our departmental applications. Initially I would be willing to accept a simple feed of Facebook or Twitter activity; in the long term I’d like to be able to post to these sites as well. Doing this would allow me to monitor traffic on important social-media sites and respond as necessary without having to switch to another application.”
  • IT Resource: “As a member of the IT department I would like to see any social-networking functionality to be implemented as an ASP .NET Custom Control. This will permit us to manage the usage of social-media features on an application and insure that we avoid code-sprawl on social-media features.”

Are you ready for the challenge?

If you are ready to take the challenge? To schedule the kickoff, email Pete Skelly at pskelly@threewill.com.  Pete will also be your point of contact when you have questions about the challenge.

Good luck!