Question: How do I learn to become a modern software engineer?

Background: I got my degree in Computer Science back in 1986. I learned COBOL, Pascal, PL/I, Fortran, C, Basic, and some assembler. I also learned structured programming, analysis, and design. I got a job as a Cobol programmer, then after several years switched over to doing Unix system administration, web page design, and (once in a while) some simple CGI programming in C. Recently, I've been able to spend more time on programming, this time in Perl, with minor forays into Java and Oracle's PL/SQL.

Problem: I'm starting to get my feet wet with orbject-oriented programming. This is something that wasn't taught when I was in college. In poking about trying to get a handle on things, I find myself reading articles talking about "use cases", "UML", "design patterns", "extreme programming", "refactoring", "agile methodologies", "evolutionary design", etc. In many cases, an article about "X" seems to assume familiarity with "Y", while an article about "Y" seems to assume a familiarity with "X". As a result, I'm coming to the conclusion that I've fallen behind on the software engineering technology curve, and would like to get caught up as quickly as I can.

My Plea: Given the above, can someone recommend a good sequence of "A", "B", and "C" that can help me start to learn whichever of the above are most useful? (I realize that there's going to be a certain amount of hype and manager-appealing buzzwords in all of this, but presumably there's something useful to be learned.)

Wally Hartshorn

P.S. I've been chastised for not pointing out that I have also posted this question on JavaJunkies. So I hereby officially point that out. I've also submitted it as an "Ask Slashdot" question, but I don't know whether it will be accepted. It's possible I'll post it at other places where I think the readers might be able to provide good information.

(Plug: Visit JavaJunkies, PerlMonks for Java)


In reply to OT: Becoming a Modern Software Engineer by Wally Hartshorn

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.