A Test for Developer Candidates

javascript, mean, nodejs, UXUI, Work
This was developed for testing out candidates for a junior developer position with MEAN stack like skills.   Introduction Much of what we do is take lots of information and display it in some meaningful way.  Sometimes that information will be from different sources and needs to be filtered, transformed, combined, and so on.     For this exercise, we’ll look at your ability to consume information from web services, process it, and display it to a user. The Domain The NIH and the National Library of Medicine provide a web service called PUG that we can use for free to pull information about millions of different chemical compounds and substances.  The tutorial for it can be found at the following URL: https://pubchem.ncbi.nlm.nih.gov/pug_rest/PUG_REST_Tutorial.html. In short, you can construct a URL to…
Read More
JS : Splitting an array into batches

JS : Splitting an array into batches

Work
In order to meet the limits on a REST API call, I needed to split a batch of record IDs into batches the size of the call's limit.  Since I was doing this in NodeJS, I worked it out functionally with the .reduce() method.  [The reduce() method applies a function against an accumulator and each value of the array (from left-to-right) to reduce it to a single value.]  In this case, my single value target was an array of arrays. There trick here was use a little index magic and pass in an array of empty arrays as the initial value parameter where the number of empty arrays equaled the desired number of batches. The effect is that 1, 3, 5, and 7 go into the first batch and 2, 4, 6, and 8 go into the…
Read More
Depth of Tech Screen

Depth of Tech Screen

Work
I can't tell if I'm expecting too much from candidate developers or not. I do tech screens for various projects and we've had quite a few candidates come through lately.  I realize I need to expand tactics to get a better feel for expertise in the general programming area. Working on this custom product has caused me to learn some technologies in-depth so I could create some of the custom UI elements that we've needed.  I do realize that not all developers have such challenging work.  However, when we've got a requirement for a developer with two years experience in technology X, I try to compare what I've learned about that technology in the same amount of time.  I ask about scenarios that I've faced. It's the most available experience I can discuss with…
Read More