[comp.object] Object oriented software engineers

marc@dumbcat.sf.ca.us (Marco S Hyman) (04/14/91)

In article <1991Apr12.201053.18348@visix.com> amanda@visix.com (Amanda Walker) writes:
 > When I interview someone I'm interested in hiring, I'd rather see
 > a portfolio of their work than what certificates they've earned.

I certainly agree with Amanda on this point... but looking at the code is
not enough.  (Meaning: I've been fooled by looking at code that the
interviewee said s/he wrote.)  Just what makes a "software engineer" seems
open to debate, also.  A typical interview session goes something like:

  "Do you consider yourself a software engineer?"
  "Yes."
  "Why?"
  "Well look at my resume.  I'm not just a programmer.  I write code that
   talks to hardware."

Sigh. I think I'd like to find a few software craftsmen about now.

The one question that does seems to separate the wheat from the chaff is
"define the term: abstract data type."  Even the ones that know all the
current OOP buzz words (without knowing any of the concepts) seem to get
tripped up on this one.

  "Well, you know... They're ABSTRACT!"
-- 
// marc
// home: marc@dumbcat.sf.ca.us		pacbell!dumbcat!marc
// work: marc@ascend.com		uunet!aria!marc

amanda@visix.com (Amanda Walker) (04/16/91)

In article <290@dumbcat.sf.ca.us> marc@dumbcat.sf.ca.us (Marco S
Hyman) writes:

   I certainly agree with Amanda on this point... but looking at the code is
   not enough.

No argument here.  However, sample code is often much more informative
than grades or other certifications that are based on some
"authority."  In fact, I'd probably view an EDP certification as a
demerit, on the grounds that anyone who would want one probably
doesn't understand how I think of software :).

   Sigh. I think I'd like to find a few software craftsmen about now.

Me too.  They are <expletive deleted> hard to find.  You can often take
bright people coming out of college and teach them well, but finding
already-experienced people is very tough.  You'd think there wasn't
any demand for creativity and excellence in the software industry...

But I digress a bit...

   "Well, you know... They're ABSTRACT!"

Many giggles.  Sigh.  One of the people on my team often asks people
to write down the algorithm for "binary search."  Amazing how many
people this trips up...

One thing that art and engineering have in common is that before you
can do much of anything, you've got to know your tools.

--
Amanda Walker						      amanda@visix.com
Visix Software Inc.					...!uunet!visix!amanda
-- 
"Far better it is to dare mighty things, to win glorious triumphs, even though
 checkered by failure, than to take rank with those poor spirits who neither
 enjoy much nor suffer much because they live in the gray twilight that knows
 not victory or defeat."	-- Theodore Roosevelt

cole@farmhand.rtp.dg.com (Bill Cole) (04/17/91)

Amanda Walker writes:
|> sample code is often much more informative
|> than grades or other certifications
|> 
|> Me too.  They are <expletive deleted> hard to find.  You can often take
|> bright people coming out of college and teach them well, but finding
|> already-experienced people is very tough.  You'd think there wasn't
|> any demand for creativity and excellence in the software industry...
|> 
|>    "Well, you know... They're ABSTRACT!"
|> 
|> Many giggles.  Sigh.  One of the people on my team often asks people
|> to write down the algorithm for "binary search."  Amazing how many
|> people this trips up...
|> 

I tend to agree, though it would be damned difficult to get a useful
sample of anyone's code.  I once taught an Intro to Computing class where
the tests all consisted of such bizarre questions as: Write a program to....
Most students didn't like this.  They wanted me to quiz them over parts of
the language.  Nobody is paid in the real world to know what some verb or 
keyword does; we're paid TO WRITE PROGRAMS.  So tests mimicked the real
world.  I changed a lot of majors.

My own views are expressed above,
/Bill

amanda@visix.com (Amanda Walker) (04/18/91)

cole@farmhand.rtp.dg.com (Bill Cole) writes:

   I tend to agree, though it would be damned difficult to get a useful
   sample of anyone's code.

This is true; however, if I can't see a non-trivial sample of someone's
code (under NDA if necessary), they're not likely to get even so far as
an interview, unless there are extremely convincing extenuating
circumstances...

--
Amanda Walker						      amanda@visix.com
Visix Software Inc.					...!uunet!visix!amanda
-- 
"Beware of the man of one book."	--Latin proverb

cole@farmhand.rtp.dg.com (Bill Cole) (04/20/91)

|> Bill Cole writes:
|> 
|>    I tend to agree, though it would be damned difficult to get a useful
|>    sample of anyone's code.

|> Amanda Walker replies:

|> This is true; however, if I can't see a non-trivial sample of someone's
|> code (under NDA if necessary), they're not likely to get even so far as
|> an interview, unless there are extremely convincing extenuating
|> circumstances...
|> 

This may sound naive (it seems to when I say it):  What do you consider a
non-trivial sample?  And how closely do you inspect it?  In the years
I've been doing this, I've never asked -- or been asked -- to see anyone's
code.  It's an interesting idea, though.

How about this alternative (since not all candidates will be using the
language I may choose): Given a problem, let the candidate work out the
solution method on the wall with you.  One, it gives you a clue to how
the individual attacks problems and, two, how they work in a small group.

Or this: Given a piece of code, explain what it does and how it could be
changed.

/Bill

john@basho.uucp (John Lacey) (04/22/91)

cole@farmhand.rtp.dg.com (Bill Cole) writes:

>This may sound naive (it seems to when I say it):  What do you consider a
>non-trivial sample?  And how closely do you inspect it?  In the years
>I've been doing this, I've never asked -- or been asked -- to see anyone's
>code.  It's an interesting idea, though.

I think so, too.  Given that I feel writing software (especially in
the age of user interfaces) is very akin to design, I always though
job applicants should have portfolios.

If not of source code, at least demos of programs they have written
(of the actual thing, under a give-it-back NDA).

>How about this alternative (since not all candidates will be using the
>language I may choose): Given a problem, let the candidate work out the
>solution method on the wall with you.  One, it gives you a clue to how
>the individual attacks problems and, two, how they work in a small group.

I like that idea, too.  You reason for it is terrible though.  If I
can't read Pascal, C, C++, Ada, BASIC, Fortran, etc., what am I doing
thinking I have the expertise to hire a programmer? Talk about
throwing darts blind-folded! 1/2 :-)

>Or this: Given a piece of code, explain what it does and how it could be
>changed.

For what it's worth, I have seen Bill Gates claim in several places
(the most accessible in-print version appears in _Programmers At
Work_, by Susan Lammers, Microsoft Press) that this is his standard
hiring procedure.  In addition to deciphering what the program did,
the applicant was expected to be enthusiastic about it. :-}

>/Bill

Toodles and cheers.
-- 
John Lacey         614 436 3773         73730,2250
john@basho.uucp  or  basho!john@cis.ohio-state.edu

cole@farmhand.rtp.dg.com (Bill Cole) (04/23/91)

|> Bill Cole writes:
|> 
|> >How about this alternative (since not all candidates will be using the
|> >language I may choose): Given a problem, let the candidate work out the
|> >solution method on the wall with you.  One, it gives you a clue to how
|> >the individual attacks problems and, two, how they work in a small group.
|> 

John Lacey replies:
|> I like that idea, too.  You reason for it is terrible though.  If I
|> can't read Pascal, C, C++, Ada, BASIC, Fortran, etc., what am I doing
|> thinking I have the expertise to hire a programmer? Talk about
|> throwing darts blind-folded! 1/2 :-)
|> 

Yeah, I know.  Personally, I'd look for IBM 1620 machine language which
is intuitively obvious to anyone who looks at it, but......

/Bill

dennisg@kgw1.xetron.COM (Dennis Glatting) (05/01/91)

In article <1991Apr22.061146.861@basho.uucp>, john@basho.uucp (John Lacey) writes:
|> cole@farmhand.rtp.dg.com (Bill Cole) writes:
	[ stuff deleted ]
|> 
|> If not of source code, at least demos of programs they have written
|> (of the actual thing, under a give-it-back NDA).
companies have things like property agreements.  not to mention there are
those, such as myself, who do lots of government work.  it is rather
difficult to get around those security restrictions.

-- 
 ..!uunet!kgw2!dennisg  | Dennis P. Glatting
 dennisg@Xetron.COM     | so?

cole@farmhand.rtp.dg.com (Bill Cole) (05/02/91)

|> In article <1991Apr22.061146.861@basho.uucp>, john@basho.uucp (John Lacey) writes:
|> |> cole@farmhand.rtp.dg.com (Bill Cole) writes:
|> 	[ stuff deleted ]
|> |> 
|> |> If not of source code, at least demos of programs they have written
|> |> (of the actual thing, under a give-it-back NDA).
|> companies have things like property agreements.  not to mention there are
|> those, such as myself, who do lots of government work.  it is rather
|> difficult to get around those security restrictions.

I've been accused of being terse, but.............

/Bill
Move before they throw dirt on you!