Hiring Technical Test (Webform)

Create a webform

Please create the following form with either the Drupal webform module or the WordPress Caldera Forms plugin. Using the respective CiviCRM integration module is encouraged but not required. I will provide a blank Drupal or WordPress site to you; please specify which you prefer. If you are applying for the site builder position, I will install all necessary modules to complete the task; if you are applying for the web developer position, you will need to install them yourself via SSH.

Note to site builders: You can request a site without the modules installed if you prefer, and this will be reflected in the offered salary should you receive a job offer. You may also request additional modules/plugins if you believe you can provide a better user experience (UX) with them.
Note to everyone: If you'd like to showcase your sysadmin skills, I can provide you with a fresh Debian install without any software configured.

Form requirements

  • The form should be titled, "Apply for a Scholarship".
  • A short introduction should say, "Please apply for your scholarship" and include a picture of a cat.
  • The following fields should exist: First name, last name, email, date of birth, country of residence, state of residence, an "Are you a resident of Quebec" yes/no, Facebook page (as a URL), phone number, a "Statement of Purpose" field (capable of holding 3 paragraphs of text) and an "Other information" (also capable of holding 1-3 paragraphs of text). You have discretion on how to create the form and will be judged partly on user experience.
  • All fields should be required except for "Other information" and "phone number". "State of residence" should not be required if the "country of residence" is not "United States". The default country of residence should be "United States". If the country selected isn't United States, hide the "State of Residence" question. If the user selects Canada as their country, show the Quebec question; otherwise hide it.
  • Provide help text below the "Statement of Purpose" reading, "Please share your statement of purpose."
  • Provide help text under the Facebook link saying, "This MUST be a URL". Provide a usability trick of your choice to ensure an end user understands the value must start with
  • Reject any form submission without a required field, with a Facebook URL value not starting with, residents of Rhode Island, or a date of birth that would put them under age 18 as of June 1st 2020. Feel free to add any additional validation/formatting that will improve data quality and/or user experience.
  • On submission, direct them to a "thank you page" with a title "Thank You for your Application" and a note telling them they'll hear back shortly. An email with the relevant values should go to my email address; formatting is unimportant.
  • Feel free to add any additional functionality that showcases a skill related to form building. In your email to me, please point out any features I might miss.

Additional Requirements

  • Please provide an estimate you would give me to send to a client for creating this form. Provide some bare-bones justification on how you arrived at the number.

Updated by Jon Goldberg about 1 year ago ยท 2 revisions