Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at Scotch On The Rocks (SOTR) 2011 (Edinburgh) with:

New Employee Aptitude Test

By Ben Nadel on
Tags: ColdFusion, Work

Over the past few years, my company has hired some questionable employees. People who have cracked under the pressure and quite, or more unfortunately, people who just didn't realize that they couldn't hack it and had to be fired. Firing someone is never fun and I am glad I am not the person who has to fire someone. After many rounds of this, I can't believe that we haven't developed a better screening process.

Now, we can't judge character, willingness to learn, ability to learn, etc. so well in an interview. But, I see no reason why we can't give interviewees a ColdFusion mini-test. Give them half an hour or something to tackle a problem so that we can gain some insight into where they are as a programmer and problem solver. In interviews, I always hated theoretical questions about pills and digital scales or programming with out conditional statements. Those are nice, in theory, but are useless when it comes to reaching client deadlines in a real-world scenario. We need something practical, something that will demonstrate the ability for a potential employee to program, reach goals, and solve problems with very real parameters.

So, what is important as a ColdFusion programmer? It's going to be different for all work environments, but this is a list of "programming activities" that I have to deal with quite often:

  1. File Read/Write/Parse
  2. Query Creation/Outputting
  3. Persisting Data
  4. Add/Modify/Delete Existing Data
  5. Text Manipulation

Looking at that list above, I have come up with a test case that touches all of the scenarios.

The program takes a tab-delimited text file (with no header row), reads it in, parses it into a query object. The query object is then cached so that the file does not have to constantly be read from with each page call. The query object is then outputted (not CFDump'd) on the page. For each row that is outputted, there is a "Delete" link which allows the user to delete a row from the data query. For each row that is deleted, the text file and the data cache must be updated. At the top of the page, there is a simple form (a field for each column in the text file) where the user can add a new row to the data. For each row that is added, the text file and data cache must be updated. Furthermore, the application should initialize itself anytime there is no data cache, or is manually re-initialized (aspect of the programming).

I think this example is small enough that it will not be overwhelming enough or take too much time. It is, however, broad enough to touch upon many important aspects of ColdFusion programming.

Tweet This Deep thoughts by @BenNadel - New Employee Aptitude Test Thanks my man — you rock the party that rocks the body!

Looking For A New Job?

100% of job board revenue is donated to Kiva. Loans that change livesFind out more »

Reader Comments

Post A Comment

You — Get Out Of My Dreams, Get Into My Comments
Live in the Now
Oops!
Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.