Re: [hackers-il] What are the levels of professionalism of star programmers?
- On Mon, 24 Jul 2000, Ira Abramov, ever so insightfully critical, wrote:
> On Sat, 22 Jul 2000, Omer Zak, ever so originally thinking, wrote:Maybe because the descriptions need to be reviewed by the public and
> > Are there recognized levels of expertise in programming?
> you're right... they even have certificates in sysadministration for
> Noell, Sun, Cisco, Red Hat, etc. but nothing in programming that I know
> of :)
> > How can they be described in one's resume?
> doubtly. I have found myself in the decriptions you gave for all four
> levels, does that make me average? or maybe because in some category I'm
> still stuck at first stage I'm only a level-I programmer?
revised and scored and assigned to their correct levels.
Then, some scoring method would be invoked to assign a level to a
programmer, based upon the number of descriptions form each level which
fit him. Probably the lowest level in which there are descriptions which
> > How do employers/clients recognize (or don't recognize) the differentI doubt that tests can really test a programmer's ability to manage
> > levels of expertise?
> grill you at the job interview. ask Chen what they put her through in
> Mercury. apperently Resume is not enough, tests are always more
> meaningful, that's how people get ahead.
complexity and to do clean design which meets messy&detalied
> > 1. Wet behind the ears.Simple. Both of them know to solve exercises and write toy programs.
> > Computer Science graduate and/or graduate of Visual BASIC course and/or
> > child prodigy.
> > Engages in religious wars about tools, has a favorite language.
> > His coding style is spaghetti and his programs are not modular.
> > He does not document his programs.
> > He reads Microsoft Press literature.
> a. how do you compare a CompSci graduate to a VB course pihead?
None of them have proven their ability to keep their programs modularized,
clean and bug-free in the face of escalating complexity.
> b. religious wars and favorite language can still infect even level-4Not by definition. A programmer who indulges in religious wars is far
> programmers :-)
from being level 4 or even level 2.
> c. spaghetti code can carry to higher levels too. more often than not itOK, I'll amend what I said above and correct to:
> is the unconventional thinking of a "mad scientist" kind of hacker that
> cuts through structures and tortures interpreters that produces the
> ugliest yet fastest/tightest code. (if what I heard is true, ask OmerM
> for samples of his code :)
"His coding style is spaghetti and his programs are not modular,
even though there is no special reason for this."
Because excellent programmers know when to break rules. Of course,
they religiously document the gory details. This reminds me of the
American war movie (whose name was forgotten) about the ship captain who
was obsessed with trifling matters while his ship was in grave danger.
His lieutenant consulted some experts in maritime war law and they advised
that in such circumstances, it is legal to commit mutiny - BUT ONE MUST BE
PREPARED TO JUSTIFY HIS ACTIONS IN COURT MARITAL(SP?). The religious
documentation of law-breaking expert programmers is the equivalent of the
> d. many beginner programmers have "document! document! document!"For toy programs, which solve simple problems, and would not need
> brainwashes at college, I heavily use remarks in shell/perl and my
> Javadocs are full and detailed since the day I started programming 17
> years ago. lack of documentation is usually the realm of the
> self-advocates who had years of bad personal-developped practices before
> they got any official education. it doesn't mean they are bad
maintenance in the future - non-documenting programmers might be OK.
But for projects, in which Complexity wins, they are disaster.
> e. what's wrong with mickySoft press? I heard they have some good booksYes, books like "Code Complete", "Writing Solid Code", "Debugging the
Development Process". OK, can anyone suggest a better way to characterize
the literary habits of different levels of programmers?
> * number of languages used well, and spreading of their types (followingNice idea! What about non-procedural languages like SQL and the
> the schematic that Assembly, Perl, Scheme and Python/Java are the four
> far corners of the language "map", are his well-versed languages
> concentrated closer to one corner or two, or spread around all four?)
"languages" used by Lex/Yacc?
The following suggestions are good. Anyone willing to characterize levels
of programmer's professionalism according to the following criteria?
> * how many "types" of programming has he touched? System, GUI,I suppose this falls under the general category of "how well does he
> communication protocol, compiler/interpreter, etc.
> * how well does he use abstraction and encapsulation in OO? how well
> does he avoide redundancy and other sicknesses in PP (procedural
handle exponentially escalating complexity".
> * ever invented his own topical language for a specific task? wrote aNarrowly-specified. How about generalizing them:
> self printing program? wrote a self-changing program? wrote a
> script-generating script? (those are in the perl purity test AFAIR)
- Participation in programming contests having various laws.
- Trimming an instruction from a very tightly optimized critical loop
which is 7 instructions long.
> * knows how to document his code well for others to maintain if he isI believe this falls under the category of handling complexity.
> ever asked to, even if he doesn't do it on his own.
> * knows how to design a project, seperate modules for team work, define--- Omer
> clean extendable APIs, has broad views of system requirements, these are
> all tied to experiance I suppose.
> * knows his OS, hardware and some system too, helps for optimizing code
> and system resources. Design patterns and Data structures are nice in
> theory but need to be optimized in practice.
There is no IGLU cabal. Especially not for wet-behind-the-ears
By sending me unsolicited commercial/political/religious E-mail message/s
(known also as "spam"), you irrevocably agree to pay me US$500.- (plus any
legal expenses incurred by my trying to collect the amount due) per
unsolicited commercial/political/religious E-mail message - for the service
of receiving it.