[plt-scheme] Re: Programming for non-programmers

From: Richard Cleis (rcleis at mac.com)
Date: Sun Oct 17 01:28:57 EDT 2004

On Oct 16, 2004, at 10:44 PM, Alex Peake wrote:

>> -----Original Message-----
>> From: Richard Cleis [mailto:rcleis at mac.com]
>> Sent: Saturday, October 16, 2004 8:34 PM
>> To: Alex Peake
>> Cc: plt-scheme at web-ext.cs.brown.edu
>> Subject: Re: [plt-scheme] Re: Programming for non-programmers
>> On Oct 16, 2004, at 3:57 PM, Alex Peake wrote:
>>>> -----Original Message-----
>>>> From: Richard Cleis [mailto:rcleis at mac.com]
>>>> Sent: Saturday, October 16, 2004 10:36 AM
>>>> To: Alex Peake
>>>> Cc: plt-scheme at web-ext.cs.brown.edu
>>>> Subject: Re: [plt-scheme] Re: Programming for non-programmers
>>>> On Oct 16, 2004, at 9:33 AM, Alex Peake wrote:
>>>>>> Message: 2
>>>>>> Date: Fri, 15 Oct 2004 13:31:00 -0700
>>>>>> From: Richard Cleis <rcleis at mac.com>
>>>>>> To: "Neil W. Van Dyke" <neil at neilvandyke.org>
>>>>>> Subject: Re: [plt-scheme] Re: Programming for non-programmers
>>>>>> Cc: plt-scheme at list.cs.brown.edu
>>>>>> Is it the 'workers' that need educated or The Industry
>> that needs
>>>>>> educated?  The laments in this thread include errors (made by
>>>>>> 'workers', of course) involving memory allocation, among other
>>>>>> low-level issues.  In other words, after a four decade
>>>>>> computerevolution where operating systems have surpassed a
>>>>>> gigabyte, these environments are still so dumb that it
>> is possible
>>>>>> for 'workers'
>>>>>> to make the same fundamental errors today as we did when I was a
>>>>>> kid.
>>>>>> I feel cheated; I was told that programs would be writing
>>>>>> themselves by now! ;)
>>>>> It is WE the programmers ('workers') that need to write
>> the programs
>>>>> that write programs, surely?
>>>> Indeed.  And bus drivers need to be trained to drive a busses.  If
>>>> busses have poorly designed brakes, the drivers (no matter how well
>>>> trained) still crash more than necessary.  Does this mean that we
>>>> need to train them to upgrade brakes?
>>> This gets us into the "division of labor" discussion - probably not
>>> here!
>>>>  From my perspective, CS education is often wasted because
>> graduates
>>>> can't pursue better ideas when so much of their time is
>> wasted merely
>>>> surviving.  This is part of what I meant by 'The Industry Needing
>>>> Training.'  I am applying self criticism here, by the way;
>> I am part
>>>> of The Industry that needs training.
>>> By "graduates" do you mean the working graduate, or the garduate
>>> student? Let me assume the former.
>> Yes, the former.  More rudely stated as Products of
>> Universities Delivered to Industry. :)
>>> There are great companies, average companies, poor
>> companies (assume a
>>> somewhat Normal distribution). That means there are very
>> few "great".
>>> I also observe that the "average" is pretty (absolute terms) low
>>> perfoming. It is tough to do well in low perfoming companies. Just
>>> like companies, graduates follow a similar distribution
>> (companies are
>>> just aggregations of people).
>>> Again the "average" is pretty low performing (IMHO). Even
>> then, held
>>> back by low performing companies, the great can still shine
>> bright and
>>> make big contributions. (My mantra of career management, BTW, is
>>> "choose the right boss - all else follows".)
>>> So what would you like to achieve? Raise the level of a particular,
>>> small subset that is important to you?
>> I am concerned with businesses in general.  If we *all* were
>> more concerned with what is important to each of us
>> personally, then so much the better (and so much more the
>> demand for CS).
>>>  This is quite doable.
>> And a few of us in our organization are beginning to try.
>>> Raise the level of the global average? Exceedingly challenging, and
>>> certainly a very long term goal.
>> This makes me wonder.  Do members of other professions see
>> shortcomings that are so challenging?  In other words, are
>> the many low performing companies to which you refer a result
>> of a computer revolution that is moving too fast?  Or is the
>> computer profession no different than any other?
> I am sure all professions suffer to a similar degree, though certainly 
> some more than others.
> The speed of the computer revolution has created a great demand, which 
> in turn has attracted many
> relatively unskilled. I have met many with shallow formal training and 
> study, yet presenting some
> form of resume/work experience. Elsewhere in the thread (Noel maybe?) 
> it was noted that our
> profession is somewhat more loosely held to standards. It was 
> suggested elsewhere (Matthias?) that
> assessing competence is not difficult, and yet I find many managers 
> quite at a loss as to how to
> assess programmers. This is how so many poor programmers get hired in 
> the first place?

I don't find it easy, but I don't have much practice!

> Others have pointed out that the top programmers are undervalued, and 
> in any but great companies I
> agree. Most think in terms of a linear relationship between Rank and 
> Output (Value) with the 50%
> Rank giving 50% Value. I think more in terms of ax + bx^3 where the 
> bottom quartile have negative
> value and the top quartile produce 3 to 10 times more value than the 
> average. I have had many
> managers intellectually agree, and then balk at actually paying even 
> double.

Sports salaries come to mind with this sort of modeling, but businesses 
typically have no roster limits so that comparison is risky.  In any 
event, the salary ratios in a sports team are > 10:1 ... but nobody 
bats an eye.

> The part of the answer I am working on is set the top quartile to work 
> with generative techniques,
> searching out and generating the well known patterns (and re-train the 
> bottom quartile in some other
> skill). I could chat for days about this, but I stop here.
> Alex
>> rac
>>> Alex
>>>> rac
>>>>> Alex

Posted on the users mailing list.