“The Nightmare” All hell has broken loose…
Let’s go right into the core of the discussion. During the recruitment phase many developers look great on paper, they are impressive during the interview, they excel in the programming challenges or exercises, seem very qualified etc…
Yet, there’s this period of time where a project really hits the point of no return: deadline was communicated to the client, lots of features are yet to be added, bugs are popping up right and left, the 24 hours a day seem no longer enough, bringing more resources is not a viable option because of the overhead required to assign tasks to them, emails, emails and more emails, management is breathing on your neck, status reports, in short all hell has broken loose, let’s call it “The Nightmare”. And right at the bottom of that list or backlog, there’s this tiny underestimated data entry task that you cannot assign to your main developers because they have much more important things to do, YET this data is vital to the project and to the end users eventually.
That pesky data entry task
The reason I gave the above (real life) example is to say, that during “The Nightmare” event, creativity and resourcefulness in solving problems in an efficient way become the essence of your lifeline. At that point in time, with barely enough stamina to write decent code, taking enough time to devise a proper plan to handle all the tasks on your task-list, especially the underestimated ones, is not an option.
Usually, the stupidest method to handle this data entry task is calling the most junior developer you have on the team and brainwash him into thinking that finishing it is what’s going to land Apollo 13 on the moon.
Hooray… Problem solved. NOPE
First day passes, the junior developer is blazing fast, 50 records are in the database already! Wow, this is going faster than anticipated!
Not so fast, the next day the number drops by 20%, the day after 60% and keeps on dropping until that developer quits, and if (s)he doesn’t, (s)he will be so demotivated and then we have a new problem.
The real life scenario might not be so dramatic, other more “brilliant” solutions will be devised such as bringing another junior developer to do the task! Now they can alternate whenever one of them feels bad! (*Sarcasm)
Let’s get back on track
I’ve probably taken the discussion way too far to emphasize the importance of the following:
- In the Nightmare situation we tend to forget that one of the core functions of a computer and programming is to replace human beings in executing daunting tasks more efficiently.
- We also wrongly believe that writing a script or a small program to execute the data entry is not cost efficient and doing it manually is.
- We overestimate the complexity of analyzing the data and extracting patterns and falsely accuse the data to be random and dismiss any attempt to extract a repetitive model.
Now the role of creativity and resourcefulness shines. For every belittled developer, who took a data entry task and transformed it into a fun data analysis challenge, Kudos. The appraisal is not for rediscovering the obvious (that computers are there to alleviate us from boring tasks) but for the efficient use of their time.
The Creativity Test
With the above said, I strongly believe that a data entry challenge to developers who are undergoing an interview is a good indicator of resourcefulness and creativity. Throw a daunting task at your potential developer employee and see how brilliantly they figure out a solution for it. The efficiency of the solution is highly correlated with the ingenuity of the mind behind it (this is simply a real life observation).
No matter how theoretically competent a developer is, no matter how much experience he has on paper, no matter how many large scale projects they have tackled, if they did not master the art of leveraging their knowledge especially when “the shit hits the fan”, all the information they possess is simply a hidden/locked up treasure.
A lot of theories already debate the boosting elements of creativity, such as locking down the resources one can use for the execution, zoning out etc… But these are topics of later discussions. The beauty of data entry tests is that they can be morphed to discover mesmerizing treasures or malicious booby-traps.