Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Friday November 02 2018, @12:36AM   Printer-friendly
from the pi(x)=substr("3.141592653589793238462643383279502884197169399375105820974944592307816406286208",1,x) dept.

Recently there was an article discussing how poorly today's Silicon Valley approaches the question of testing their information technology candidates' intelligence.

If you were a hiring manager, how would YOU test YOUR candidate's intelligence?

I was mulling this over recently, when, for unrelated reasons, I found myself researching algorithms to be used in calculating 'pi' (en.wikipedia.org/wiki/Category:Pi_algorithms).

As it so happens, there are currently 15 known algorithms for pi. At least one of the algorithms can be used to generate arbitrary digits of pi (en.wikipedia.org/wiki/Bailey–Borwein–Plouffe_formula), and that might be relevant. (I'm not a mathematician, or a programmer, as such - I'm a sysadmin - but even those who are will likely be surprised to learn that such a thing is possible. For more information, please see en.wikipedia.org/wiki/Spigot_algorithm.)

And so I would ask my candidate to pretend that he was responsible for designing a library of math functions, and to offer me an opinion on which algorithm should be implemented, in our hypothetical library of routines, to calculate 'pi'.

Some prior experience in programming is required - you have to have written your own functions. No programming languages are required. No coding. Not even pseudo-code! No right answers. No wrong answers. Just pure thought.

You don't need to be a programmer to take this test and succeed. You don't need to do anything on a whiteboard. You just need to be somewhat mathematically inclined ... somewhat literate ... and, a nerd.

A real nerd. Not one of these fake Silicon Valley nerds. You need to have books on your shelves. Not DVDs.

Points for asking what the library will be used for. The value 22/7 might work great for roughing out the roof of a gazebo. Not so good for calculating orbits!

Points for implementing multiple algorithms and letting the user decide for themselves.

No time limit, no pressure ... but I would want to hear back from my candidates, within a day or two, via email.

Compare my test to the puerile tests involving balls, and strings, and calculating 2^64 in your head, in real time, and ask yourself which of these methods REALLY exposes intelligence?

Now, you're in charge.

What would you do?


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by tibman on Friday November 02 2018, @05:31AM (3 children)

    by tibman (134) Subscriber Badge on Friday November 02 2018, @05:31AM (#756758)

    Having highly intelligent employees isn't what you need. What you need are employees who can do the job correctly and fast. Which means they need to be able to learn (and do) new things. Then they need to improve upon what they are taught on their own initiative. Intelligent doesn't mean they give a shit. They might spend all that mighty intellect calculating the required absolute minimum effort needed to collect a paycheck.

    Intelligence isn't what i screen for. Problem solving ability and knowledge of the tech they will be using. Big bonus points for doing projects in your personal time. Don't care what degrees or certifications. I roughly organize interviewees as academics and practicals. One can talk, the other can do. Both are useful in their own way but at the end of the day the work needs to get done. If you can't do it then i pair you with someone who can and watch what happens. There should be progress. If you still can't do it with a dedicated resource at hand then you're fired. That's usually a 3-6 month process though. Everyone gets a fair try.

    Most companies seem incapable of firing people for legit reasons. They wait until a department is expensive and not producing and layoff like 50% of it randomly. Stupid. Trim the people that can't carry their weight. You'll find that the people who are good at their job will better enjoy work because their co-workers are also good at their job and everyone is actually doing their job. Your team members won't be constantly fixing an incompetent person's work or being drug down by someone who is literally making more work than they are solving. A bad manager is even worse because they can severely lower a team's morale and work output with bad decisions, useless red tape, and domination games. Build your people up. Train them. Let go the ones that are problems. Everyone doesn't have to be amazing. We just need to be rowing the boat in the same direction. You'll have a wicked good team after a few years.

    --
    SN won't survive on lurkers alone. Write comments.
    Starting Score:    1  point
    Moderation   +4  
       Insightful=2, Interesting=2, Total=4
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 2) by pkrasimirov on Friday November 02 2018, @08:42AM

    by pkrasimirov (3358) Subscriber Badge on Friday November 02 2018, @08:42AM (#756771)

    Hear, hear.

  • (Score: 3, Informative) by schad on Friday November 02 2018, @05:29PM

    by schad (2398) on Friday November 02 2018, @05:29PM (#756944)

    They might spend all that mighty intellect calculating the required absolute minimum effort needed to collect a paycheck.

    Fuck, you're on to me!

  • (Score: 1, Interesting) by Anonymous Coward on Friday November 02 2018, @09:59PM

    by Anonymous Coward on Friday November 02 2018, @09:59PM (#757100)

    What you need are employees who can do the job correctly and fast
    I would add to that. "also people that can get along with others". I have had a few 'brilliant' people who were basically just total assholes to get along with. We got rid of them quick and kept the smart ones that got along with others. Programming these days is very very very rarely a solitary lone wolf task. You are usually working in a group to get something done. Simply because it is too much for one person to do.

    Fizz Buzz and the 'google interview style' has done some serious damage to our industry. These companies have become incapable of hiring competent people. Fizz Buzz exists to filter the honest to god can not program at all people (many many many exist). The google coding interview style was invented by google to make them feel elite and get people who are actually good. They have actually turned it into a method. But the problem is almost all the other companies doing it have no idea why google does it and they apply it badly. It works for them because it is part of their culture. Rando company applying it thinks they will get 'rock stars' out of it. This example interview question I would seriously question if I wanted to work there. I could even answer it!

    This snarky ass shit would actually make me mad You need to have books on your shelves. Not DVDs.
    I have thousands (3300+) of DVDs because I enjoy the method of collecting them. It is my hobby. I rarely buy books on computer programming. They are pretty much out of date within a year. I just recently unloaded a half ton of the things. *NO* one would take them. Not even libraries. Because guess what. They were out of date. 99.9999% of what you need to program is on the net or kindle. Including the books. For that very small portion I can usually get a intralibrary loan or the research paper. Anyone who has not realized that could almost be considered a Luddite.