we want python software

Rick Johnson rantingrickjohnson at gmail.com
Wed Dec 6 10:27:05 EST 2017


On Wednesday, December 6, 2017 at 2:14:40 AM UTC-6, Percival John Hackworth wrote:

[...]

> [...]
> The good people (e.g. the friends I asked for advice) are
> to busy to do such little projects to bother.

Good work is not cheap. And cheap work is not good.

> So the market is left with Junior people in India making
> crap. It's not a question of them taking jobs away from
> U.S. developers. It's a question of the good ones already
> have work. Can we train Joe to setup Wordpress and secure
> it or write a Java Web site when all he's done before is
> manufacturing or worked in a grocery store.

Not easily, no. There are certain fundamental personality
attributes and natural inclinations that lend themselves
nicely to writing code.

(1) Strongly self-reliance

This cannot be stressed enough. If you're the type of person
who requires a micro-manager to hover over your shoulder all
day telling you what to do, then writing software is _not_
for you.

(2) Naturally analytical

If the greatest thought that has ever entered your mind is
"Hmm, i wonder what the Kardasians are doing today?", then
writing software is _not_ for you. There are plenty of
department stores who could use another brain-dead sales
rep. OTOH, if you find yourself intrigued by the inner
workings of just about every system and process in our
universe, then you may be an excellent candidate for this
field -- among many other mentally challenging fields.

(3) Logically inclined

If logic did not come naturally to you, or you feel that
logic is nothing but the philosophical penchant of sadistic
pedantics, then writing software is _absolutely_ not for
you. You simply cannot write software unless you possess a
strong grasp of logic.

(4) Exceptional problem solving skills  
    
Problem solving requires first breaking a problem structure
down into its component parts using your analytical skills,
and then applying logical solutions to each of these
components in a manner that will satisfy the whole.
Pragmatics is often your best friend. But you must not loose
sight of the bigger picture. For if you dismiss the delicate
and synergistic interplay between these components, your
naive solution will collapse on itself. Problem solving
requires thinking deeply in the abstract using metaphors,
applying diverse methodologies, and identifying the weak
spots in your proposed solution. Typically there isn't a
perfect solution. For, if there were a perfect solution to
every software problem, we could automate the software
development process. Code is not something you just yank out
of your colon like it were a fictional story for
entertainment purposes, no, it's called Engineering for a
_reason_.

The remainder can be taught, and mostly a matter of
memorization.

Any idiot of average intelligence can learn the syntax,
structural formatting rules and library contents of one or
more programming languages, however, if they lack the
aforementioned personality traits and natural skill sets,
they can't do much of anything with such knowledge, and
essentially, all they have accomplished is to fill their
head with useless facts. Facts are only useful when they can
be applied to solve problems. Short of that, they are mental
refuse.

I once encountered a most annoyingly uninformed dolt who
quiped:

    DOLT: "Programming is easy! Once you learn the langauge,
    it's just a matter of fill-in-the-blanks."

    ME: "Oh really?" o_O

    ME: "Are you literate in the English?"

    DOLT: "Of course i am!"

    ME: "I see. And are you literate in English at an _advanced_
    level?"

    DOLT: "Of course i am!!!" >:-(

    ME: "And does being literate in the English language
    necessarily mean that you could author a best selling
    novel?"

    DOLT: "Uh? Uh? (*sigh*) Probably not. No."  :-'(

    ME: "Hmm, and could you author _anything_ that is worthy
    enough to be included on the shelves of a respectable book
    store?"

    DOLT: "Muh... Muh... Well, maybe!? :^|"

    [Hope springs eternal!] ಠ_ಠ

    ME: "And how many books have you authored thus far?"

    DOLT: "Well nothing yet. >:-("

    ME: "Okay then."

    ME: "Next time, think before you open your mouth."

> Other groups aren't so nice to beginners - the perl group
> is brutal and tell a student to do their own homework.

There is clear difference between requesting advice on one
small detail that is unclear, and positing a verbatim
outline of a homework project and then expecting the group
to cough up a complete solution on a silver platter. In the
latter case, the student should be admonished.

However, another approach is to offer an absurd solution.
One which produces the correct result whilst being
structurally, practically, and/or semantically a total train
wreck.

The instructor will "know". ;-)

[Hope springs eternal!] ಠ_ಠ



More information about the Python-list mailing list