Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Designing the programmer

by artist (Parson)
on Sep 09, 2002 at 20:21 UTC ( #196426=perlmeditation: print w/ replies, xml ) Need Help??

Dear Fellow Monks
I came across the phrase and liked it. How do u design the programmer within yourself. It's one thing to design a program and other to design the programmer or dancer for that matter.

Designing the program focuses on the constructs and methods, desinging a programmer focuses on reading, setting up environments, life observations, idea generations etc..

Your thoughts are welcome.

Seeking art of designing artists,
an artist. .

Comment on Designing the programmer
Re: Designing the programmer
by FoxtrotUniform (Prior) on Sep 09, 2002 at 22:28 UTC
      How do you design the programmer within yourself?

    Never stop. It's one thing to keep learning new skills, especially techinical ones, but quite another (and at least as important) to keep forming new opinions, researching them, fleshing them out, and testing (and ultimately discarding or mutating) them. I'm constantly trying to improve on my conception of "the best way to program". I read books and articles on software engineering, design, languages, and so on compulsively. (My last workplace was great for that: I went through The Mythical Man-Month and The Pragmatic Programmer in two weeks. And I'm a better programmer for it.)

    All those good ideas don't do you any good if you're ambivalent about them. Form strong opinions. Stick to your guns until you're convinced that there's a better way to do it. (You don't have to be a jerk about it, but if a vi vs. emacs flamewar doesn't get you steaming mad at some point, you're not paying enough attention to your editor.) That said, don't blindly shut your eyes to alternatives... be skeptical, not pigheaded.

    If you have to constantly examine and defend your beliefs, you end up learning a lot about them.

    --
    F o x t r o t U n i f o r m
    Found a typo in this node? /msg me
    The hell with paco, vote for Erudil!

Re: Designing the programmer
by bilfurd (Hermit) on Sep 10, 2002 at 02:10 UTC
    The best guide I found for this was Miyamoto Musashi's Book of Five Rings, specifically The Earth Scroll. Musashi compares carpenters to warriors. Both must keep their tools sharp. Both must keep their skills sharp. In our profession, it is not enough to learn every command in Perl without learning the most efficient means of utilizing those commands. By the same token, there are times when Perl may not be the most efficient solution, so we must learn to use other tools and master them as well.

    Whether you are using Perl (sword) or other languages (spears, arrows, etc.), there are certain prinicples that you apply to complete your task (ruin somebody's day). These principles do not change with your tools, and rely on the tools and skills being sharp.

    A snippet of the Earth (or Ground) scroll:

    1. Do not think dishonestly.
    2. The Way is in training.
    3. Become acquainted with every art.
    4. Know the Ways of all professions.
    5. Distinguish between gain and loss in worldly matters.
    6. Develop intuitive judgement and understanding for everything.
    7. Perceive those things which cannot be seen.
    8. Pay attention even to trifles.
    9. Do nothing which is of no use.

    I cannot recommend this book enough for any person in any profession.

Re: Designing the programmer
by Django (Pilgrim) on Sep 10, 2002 at 09:29 UTC

    A book that gave me a good kick was The Pragmatic Programmer. It concentrates on the work process, from the point of view of people who never stop refactoring in their minds. Outstanding metaphors and pragmatic tips show how to realize that approach in your daily work.
    See also footpads book review.

    One of the first tips in this book: "Think! About Your Work".

    ~Django
    "Why don't we ever challenge the spherical earth theory?"

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://196426]
Approved by rattusillegitimus
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2014-08-23 09:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (173 votes), past polls