[misc.jobs.misc] Weird C code as test for employment

drw@cullvax.UUCP (Dale Worley) (07/31/87)

It's true that testing someone's ability to read (and write) such
monstrosities as Keller's test isn't testing for their ability to
read and write readable code.  But it is a very good way to filter out
people who are (1) a bit dense, or (2) don't have a good grasp of C.
After all, how many of the readers didn't catch the extra '*' on 'char
****cpp', or didn't know that an extra ',' is allowed at the end of an
initializer list?

I've worked with people who were slow, and it's a real pain, and this
test would have surely eliminated them, as garlic does a vampire.

Dale
-- 
Dale Worley	Cullinet Software		ARPA: cullvax!drw@eddie.mit.edu
UUCP: ...!seismo!harvard!mit-eddie!cullvax!drw
From the Temple of St. Cathode of Vidicon:

keir@vms.macc.wisc.edu (07/31/87)

In article <1418@cullvax.UUCP> drw@cullvax.UUCP (Dale Worley) writes:
>It's true that testing someone's ability to read (and write) such
>monstrosities as Keller's test isn't testing for their ability to
>read and write readable code.  But it is a very good way to filter out
>people who are (1) a bit dense, or (2) don't have a good grasp of C.

An even better way is to NOT hire people who pass the test, hence
filtering out those people who are (1) hung up on esoterica,
or (2) don't have a good grasp of programming.  

Oh, okay -- you can hire those who pass the test, but only if 
they ask what moron writes junky code like this. 

	"Real programmers never comment -- if it was
	 hard to write, it should be he:e, ane, anet

jcs@odyssey.UUCP (j.c.schwebel) (08/01/87)

I would much rather have an employee who could design,
code, and test in a clean, logical, and understandable
manner than one who could exactly count the number of asterisks
on an obscure line of code.
Let the machines do the counting.

oleg@quad1.quad.com (Oleg Kiselev) (08/06/87)

Well, it could have been worse.  

On the other hand, if the job involves maintaining code written in this style
(we are talking MANY megabytes here), or rewriting and expanding it, you
BETTER be able not to get lost in the pointer stew.  And be able to tell
that a pointer to "char **xxx[]" is a "char ***", and not "char ****". 
Because that's the kind of error you will often find in code that was never 
linted and constitutes the heart of the product you are supposed to make
(somehow!) work.  Remember, there is a chance that the guy who worked on the
code before you was incompetent and got fired for it -- and you are being
hired (in part) to clean up the mess.  (I should know -- part of our job here,
aside from developement and posting to the NET :->, is to fix bizzare
"artifacts" left in our products by the "earlier generations")
-- 
Oleg Kiselev  --  oleg@quad1.quad.com -- {...!psivax|seismo!gould}!quad1!oleg

DISCLAIMER: All grammatical and spelling errors are inserted deliberately to
test the software I am developing.  In fact, that is the only reason I am 
posting. Yeah, that's the ticket! All my postings are just test data! Yeah!!