One thing that's been advocated in this, and many other forums, is to learn whatever we can however we can. If we want to be the best whatevers we can possibly be, we have to be willing to take the ego hit and squeeze every opportunity from every situation we encounter.

I love it when I see someone being willing to take the hit and post their code for open criticism. stefp's sig saying to message for english corrections is great, too.

At this point, I'm going to depart from the readily-acceptable and venture into territory that's going to get me --'ed hardcore.

The terrorist attack on the WTC and the Pentagon contains lessons for us to learn. Not just the trite lessons about airport security (we need the military doing our security, not minimum-wagers) or about intelligence gathering (anyone can hide from the CIA, frankly). Real lessons about organization, planning, and execution.

Every programming project has, essentially, 6 stages:

  1. Requirements
  2. Design
  3. Implementation
  4. Testing
  5. Roll-out/Maintenance
  6. Retirement
Every single project needs to plan, organize, and effectively execute all six stages to be a resounding success. How many of us have been on projects whose requirements were vague, design incomplete, and testing inadequate? Yet, we, the implementors, were chastised for putting out a buggy product behind schedule and over budget. (Even assuming the product got out the door!)

The terrorists, whoever they were, did the following:

  1. Stated an objective.
  2. Determined requirements to achieve that objective, including the necessary training and resources.
  3. Created a step-by-step plan with milestones to achieve.
  4. Executed that plan, essentially flawlessly.
Now, I have no idea if they had all of this on paper. But, there are early indications that this was over a year in the making, with at least 50+ people in several nations taking part.

Now, imagine a programming project of that magnitude. 100 people in 5 countries. Imagine the planning required up front. Imagine the training necessary to achieve that objective. Imagine even having a concrete objective!

I think we can take away a lot from the terrorists. I know that I will be looking at my future projects with this in mind. Whenever I despair, I'll realize that every project is doable. (However, some projects, while doable, should never be done.)

I'm not idolizing them. They nearly killed my father. I personally HATE every single one of those motherless pig-dogs. However, my hate will not blind me from a lesson I can learn.

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.


In reply to Learning from any source by dragonchild

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.