[plt-scheme] Perplexed Programmers

From: Marco Morazan (morazanm at gmail.com)
Date: Thu Aug 30 12:23:37 EDT 2007

On 8/29/07, Brent Fulgham <bfulg at pacbell.net> wrote:
> 1.  A strong professional society that (along with the government)
> enforces strict educational criteria and proof of minimal competency
> (through licensing) to ensure the work is performed by suitably
> competent practitioners.

It appears that many of the arguments put forth in this discussion
indicate the need for licensing of programmers. The arguments against
it range from the curtailment of creativity to overkill for mundane
tasks (e.g. developing a web page). It seems to me that a credential
certifying an individual as a competent programmer may not be a bad
thing. Given that there are so many "levels" of programming one can
envision a scaled licensing system to reflect the level of competency.

BTW, I do not believe licensing curtails creativity. Programming is an
activity that requires a great deal of technical skill and that
affects the lives of many. It is reasonable to separate the
professionally trained from the "naturally smart."

> 2.  Engineering firms have a strong system of apprenticeship.  The
> licensing system doesn't even let you sit for the exam without having
> achieved a certain number of years of experience (and letters from co-
> workers claiming you meet minimal criteria of competency).

I am of the feeling that undergraduate CS education (as well as
Master's programs) has moved too far away from the master-apprentice
model. Students are overwhelmed with requirements for a well-rounded
education that few are able to actually spend time learning the
discipline they have chosen to pursue in depth. Undergraduate programs
can not expand the number of credits required for the major, because
of credit requirements for a BA/BS (which include lots of
well-roundedness credits). Professors can not spend time working with
undergrads, because there are not enough professors to cover
everything that needs to be done by their departments. There is no
doubt in my mind that my undergraduate research assistants are leaps
and bounds ahead of their classmates after a _single_ year of working
with me. There is nothing like raising the bar and seeing students
take up the challenge.

> 3.  Engineering firms have a strong culture of review, in which senior
> engineers review the designs largely created by teams of lower-level
> engineers.  This has the dual effect of passing experience down, as
> well as avoiding errors.

I have tried my hand at this in the setting of undergraduate
education. I have my senior undergraduate RAs critique the work of
less senior students. Once they are satisfied the work makes it to my
desk where I get a chance to critique it. Students writing programs
become extremely frustrated, but those that buy into the model benefit
greatly from it.



Posted on the users mailing list.