Heads up, this doesn’t have much to do with Perl but, in my highly unqualified opinion, PerlMonks are the smartest programmers around (at least maybe the only smart ones who will give me the time of day (barely)) so I thought I’d post this here.

So anyway, I had a few beers last night and a couple of cocktails to boot and I started getting a little philosophical about programming. What is it programming, exactly? I decided the best definition I could come up with is that it is “the automation of the creation and extraction of meaning from the world.” It’s basically a mining exercise where the “natural resource” is meaning.

Once the meaning is extracted, it can be used to help guide decisions, help increase efficiency of processes (including the mining of more meaning even faster and more automatically), or help us uncover how the universe works as in the case of scientific research.

Then I got to wondering where programmers fit into this cosmic extraction of meaning. It struck me that programmers are like foot soldiers. Those who employ soldiers and direct them are like generals. The generals would be equivalent to the business leaders and bureaucrats who make big picture decisions. And then somewhere in the middle are computer scientists, who study the extraction and processing of meaning with computers. The generals rely on the knowledge of computer scientists to determine which strategies to employ to help extract meaning. The computer scientists would be like war strategists, determining the best tools and methods for automating the extraction of meaning.

Outside of these three major roles are people like IT folks who would be like Seabees; those who set up the infrastructure and equipment needed to process the meaning. The companies that write software workhorses are like defense contractors who manufacture equipment (the tanks, jets, and ships) that do a lot of heavy lifting (IBM, Google, Microsoft, Facebook, Apple, etc.).

Of course, the lines between these roles are much blurrier than in war. For example, a programmer running a small business writing consumer software is often the general, the foot solider, and the Seabee (probably not so much a war strategist). A consultant who helps businesses develop complex custom software is probably much less of a foot soldier and more of a war strategist.

My thought is the most valuable programmers are those who have a good idea about what would be of value to leaders, are very familiar with computer science and are highly expert on wielding the most powerful tools used to automate the extraction meaning.

$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate";
$nysus = $PM . ' ' . $MCF;
Click here if you love Perl Monks


In reply to Mining and war as a metaphor for programming by nysus

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.