Defending the Python lanuage...

Laura Creighton lac at strakt.com
Mon Feb 11 04:40:28 EST 2002


> Cliff Wells:
>
> Laura Creighton wrote:
> 
> > > If if.  No doubt things such as personality are going to be a huge
> factor. 
> > > I guess that sums up my assertion: the type of personality attracted to
> > > programming is not the type to endure watching someone else code.  My
> > > fingers would twitch themselves numb.  To have pair-programming work
> you
> > > would need two programmers who: 
> > > 
> > > 1.  have similar skill levels
> > 
> > This is incorrect.  
> 
> How dare you.   ;)

Grin.  'Cause I know better! <sticks out tongue>

> 
> > It works great with people with radically different
> > skill levels.  Of course, they start to converge, so they do not end
> > up with different skill levels.  thats the point.  For example, people
> > who pair program with me and are not aware of design patterns and
> signature 
> > based polymorphism will get that fixed in a hurry.  But what happens
> > when Alex Martelli and I are pair programming is I learn so much stuff
> > I never even heard about before.
> 
> No doubt.  This is in fact how I have trained people in the past - they sit
> and watch me program with some toolkit and we discuss what I'm doing (I had
> great success teaching someone with no programming experience whatsoever
> how to integrate Python, wxPython and MySQL - in less than 3 months he was
> writing on his own [and damn arrogant too, I might add]).  However, I think
> a key point in his progress a a programmer was when he finally sat at his
> own computer and worked independently of me.  I'm reminded of a Chinese
> proverb I read in a calculus book:
> 
> I hear and I forget
> I see and I remember
> I do and I understand

You are not getting an argument with me about that one.  Here is a
varation.  Make your first prototype alone.  Then pair.  That's how
to get 'make one to throw away' embedded in the creation process.

> Now you know Laura, that your posts are so rare and insightful that I am
> loathe to disagree with you, -but- ;) my point is that while working
> together is extremely beneficial for sharing ideas and information, I don't
> see sharing the same console with another programmer for 90% of the time to
> be as beneficial to productivity.  Sitting side-by-side at separate
> consoles, yes, but not at the same console (except when there are
> interesting discoveries/techniques to be shared or design questions to be
> pondered). 

This is one of the principals of XP which we are stress-testing.  I'll
let you know when we have done this enough to have any firm conclusions.
I came to XP with a background that said ideal is 'everybody has their
own office and we *also* have a shared terminal room.  YOu get/give help
with anybody who is in the terminal room.  We haven't tried that here,
but its only recently that we are enough people that it is a viable idea.
(Of course, we don't have enough machines to do it now....)

> However, this discussion does give me the idea that pair-programming could
> be very beneficial if programmers were rotated on some schedule, so that
> one day they watched someone else and on another someone else watched them,
> especially given a group of several programmers that could be rotated
> through.  This way, programmers would get enough time doing development on
> their own but still have a chance to share ideas with other programmers in
> their group.  Too bad I'm not in a position to give it a try :P

Don't formalise the process too much.  You are not trying to bring order
to your establishment by building rules that work top-down.  You are
trying to foster order that works from the bottom up.  How any two
people best collaborate can vary with the people -- and if you are
on a roll you may want, need, and deserve a few days with each other
and only with each other -- otherwise 10 minutes, or an hour to
kill this one nasty bug may be enough.

The person who is doing the typing is in more control, but the person
who isn't is in a better position to exercise good judgement.  This
usually works better when it swaps in units a lot smaller than 'a
day'.  

> 
> > It is such a joy.
> 
> I'm glad to hear it =)
> 
> > > 2.  like and respect each other
> > > 3.  have compatible programming philosophies
> > 
> > (you are spot on with those, however.)
> > 
> > Cliff, again you are up against 'American management is impossible.'
> > Seriously consider visiting Sweden, for a vacation.  I think you would 
> > like it here.
> 
> You'd better be careful what you ask for - you're starting to tempt me -
> you could end up with some guy with a strange accent and stranger ideas
> hanging around ;)  I expect I could learn quite a bit from you.

And I from you, and I from you.

Have you read 'Engineering and The Minds Eye'?  I just finished it.
Wonderful.  

> Cliff Wells, Software Engineer
> Logiplex Corporation (www.logiplex.net)
> (503) 978-6726 x308  (800) 735-0555 x308

Laura Creighton




More information about the Python-list mailing list