If you are just interested in design, I highly recommend Joel's works. Read his articles about design specifications specifically (*grin*) and his other writings as well.

Being a good programmer, in my opinion, deals with more than just code. It includes your ability to look at, understand, and solve problems in an ordered and defined method (we'll call it algorithmically). It also deals with knowing how to use the right tools for the job at hand. Personally, I try to stay away from religious wars dealing with languages. I've had occasion to write applications in various languages, and I'd like to think that I used the right tool for the job, and that I didn't try to shoe horn my favorite language into the application merely because it was my favorite.

Update: I made an algorithm allusion, but failed to include texts:

Gain some exposure to other languages, and try to incorporate them into how you solve problems. If nothing else, it will strengthen your abilities with your weapon, er, language of choice.

I read Design Patterns and got a lot from it, but it's not for the faint of heart. Also, as a companion that adds some new views, Design Patterns Explained is good. These deal with OO design in C++, but the patterns discussed hold true, and can apply to most projects.

My last suggestion is the most difficult to fulfill, but usually the most rewarding. Find a mentor, someone near-by that you can learn from. My strongest coding moments were under the watchful eye of a mentor. I don't even know if he knew he was playing that role. He was near-god-like in his ability to solve problems, understand code and implement a well organized solution in almost no time. He created some algorithms for highspeed data acquisition (sensors on automobiles, etc) that were phenominal. Being in that environment motivated me, and taught me what it meant to be a good software engineer, and not just a programmer.

Good Luck,

C-.

Update: Ack, how could I have forgotten Prof Don Knuth's work. I turned around and it was on my shelf, staring me in the face. I repent.


In reply to Re: From the Void and into the Light... by cacharbe
in thread From the Void and into the Light... by Dogma

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.