From: Roy Smith on
In article
<388041a0-4bc5-4f65-bae3-d516fb90f57f(a)l25g2000prn.googlegroups.com>,
Peter <peter.milliken(a)gmail.com> wrote:

> Realistically, if the application is anything other than trivial then
> it will most likely have somebody poking around in it at some stage
> who isn't the brightest spark in the firmament. Anybody who produces
> nice, readable and straight forward code in my books gets the tick of
> approval.

What he said.

The first test of good code is that you can understand what you wrote
six months after you wrote it.

The second test is that you can explain it to some junior programmer a
couple of cubes away from you, two or three years after you wrote it.

The ultimate test is that some poor schmuck, long after you've moved on
to another project (or company), can figure out what the heck you wrote,
ten years later. And, oh, yeah, the junior programmer who you explained
it to in the previous paragraph, may be 9 or 12 time zones away from the
team who is currently maintaining your code, if he's around at all.
From: Peter on
On Aug 9, 10:39 am, Steven D'Aprano <st...(a)REMOVE-THIS-
cybersource.com.au> wrote:
> On Sun, 08 Aug 2010 17:28:59 -0700, Peter wrote:
> > On Aug 9, 6:49 am, Terry Reedy <tjre...(a)udel.edu> wrote:
> >> On 8/7/2010 7:53 AM, Peter Otten wrote:
>
> >> > You mean you'd go for the candidate who took the conservative
> >> > approach and got it right:
>
> >> > print 1
> >> > print 2
> >> > print 'Fizz'
> >> > print 4
> >> > print 'Buzz'
> >> > print 'Fizz'
> >> > print 7
> >> > print 8
> >> > print 'Fizz'
> >> > print 'Buzz'
>
> >> Way too verbose. How about
> >> print("1\n2\nFizz\n4\nBuzz\nFizz\n7\n8\nFizz\nBuzz\n etc.
>
> >> --
> >> Terry Jan Reedy
>
> > And to hell with the code being maintainable afterwards? :-)
>
> I'm pretty sure both Peter Otten and Terry Reedy were being sarcastic and/
> or ironic.
>
> --
> Steven

I'm sure you're right - and I repeat that I meant no offense.

My comments were intended in the spirit of what to do or do not do in
an interview for (any) programming job. Peter and Terry just offered
some good examples of what you don't want to do (IMO) :-)

So, I apologise if anybody has taken my comments as a slur on Peter
and/or Terry's posts - they were not intended as such.

Peter
From: Terry Reedy on
On 8/8/2010 10:16 PM, Peter wrote:

>> I'm pretty sure both Peter Otten and Terry Reedy were being sarcastic and/
>> or ironic.

About the most I ever am ;=)!

> I'm sure you're right - and I repeat that I meant no offense.
>
> My comments were intended in the spirit of what to do or do not do in
> an interview for (any) programming job. Peter and Terry just offered
> some good examples of what you don't want to do (IMO) :-)
>
> So, I apologise if anybody has taken my comments as a slur on Peter
> and/or Terry's posts - they were not intended as such.

I was not sure if you were taking me seriously or not, but rather than
be insulted, I am delighted that I gave you an opportunity to both get
something off your chest and say something worthwhile.

When I was hired in part to maintain and extend someone else's work, it
was in pretty good shape and the outgoing person, with more experience
than me, gave me a quick head's about about it. But I realize that many
others have been less fortunate, but of course cannot throw a fit in
their new place of employment, as appropriate as it might seem.

--
Terry Jan Reedy

From: J Kenneth King on
James Mills <prologic(a)shortcircuit.net.au> writes:

> On Sat, Aug 7, 2010 at 4:32 AM, Tim Chase <python.list(a)tim.thechases.com> wrote:
>>> I would like to aquint myself with Python Interview questions
>>
>> This came up a while ago:
>>
>> http://www.mail-archive.com/python-list(a)python.org/msg168961.html
>>
>> Most of that thread is still relevant (perhaps throw in some py3l questions
>> too)
>
> A common thing you can do in interviews is ask
> your interviewee to write (in Python) a solution
> to the "FizzBuzz" problem. Any good competent
> Python programmer should be able to do this
> in 5-10mins (5 if you're good).
>
> cheers
> james

Fizzbuzz is annoying in interviews.

I've never worked at a job where I was under a timer while a group of
people sat across from me and scrutinized everything I was doing.

I don't see how it can honestly tell you anything useful about the
person you're interviewing either. Do you really think that what you
assume about the interviewee based on characteristics you can infer from
their solution to be really, honestly true? They might even completely
bomb the solution and still be a brilliant programmer, but you'll never
know that if you trust this simple "fizzbuzz" test.

I've been in those interviews on both sides of the table. Neither side
was a good experience.

If a test is necessary, make it a take-home or demand source code if
they have it. Read their code and judge for yourself the quality of
their work.

Any questions in an interview should be the usual "get to know you" type
stuff. "What was the most difficult challenge you've faced on the job?
How did you respond?" That sort of thing.
From: Benjamin Kaplan on
On Tue, Aug 10, 2010 at 1:44 PM, J Kenneth King <james(a)agentultra.com> wrote:
> James Mills <prologic(a)shortcircuit.net.au> writes:
>
>> On Sat, Aug 7, 2010 at 4:32 AM, Tim Chase <python.list(a)tim.thechases.com> wrote:
>>>> I would like to aquint myself with Python Interview questions
>>>
>>> This came up a while ago:
>>>
>>> http://www.mail-archive.com/python-list(a)python.org/msg168961.html
>>>
>>> Most of that thread is still relevant (perhaps throw in some py3l questions
>>> too)
>>
>> A common thing you can do in interviews is ask
>> your interviewee to write (in Python) a solution
>> to the "FizzBuzz" problem. Any good competent
>> Python programmer should be able to do this
>> in 5-10mins (5 if you're good).
>>
>> cheers
>> james
>
> Fizzbuzz is annoying in interviews.
>
> I've never worked at a job where I was under a timer while a group of
> people sat across from me and scrutinized everything I was doing.
>
> I don't see how it can honestly tell you anything useful about the
> person you're interviewing either.  Do you really think that what you
> assume about the interviewee based on characteristics you can infer from
> their solution to be really, honestly true?  They might even completely
> bomb the solution and still be a brilliant programmer, but you'll never
> know that if you trust this simple "fizzbuzz" test.
>

The interviews where I've been asked to write code, the interviewers
had almost no interest in the code I actually wrote. They wanted me to
think out loud, to see how I approached the problem. To make sure I
did actually know how to program and not just copy/paste from a text
book.

> I've been in those interviews on both sides of the table.  Neither side
> was a good experience.
>
> If a test is necessary, make it a take-home or demand source code if
> they have it.  Read their code and judge for yourself the quality of
> their work.
>
> Any questions in an interview should be the usual "get to know you" type
> stuff.  "What was the most difficult challenge you've faced on the job?
> How did you respond?"  That sort of thing.
> --

Now those questions are completely useless for those of us still in
school. Because almost nothing we've done so far really says anything
about how we'll do on the job. When I get an interview like that, I
usually end up with the same 2-3 responses to every single question,
because those are the only experieces I've had outside of "well I had
this tough homework assignment".