Lessons from 30 years as a software engineer - PowerPoint PPT Presentation

About This Presentation
Title:

Lessons from 30 years as a software engineer

Description:

The canonical example is 'This is standard old crufty DEC software' ... result from uninitialized auto variables, fandango on core phenomena (esp. ... – PowerPoint PPT presentation

Number of Views:162
Avg rating:3.0/5.0
Slides: 16
Provided by: Atk6
Learn more at: https://www.d.umn.edu
Category:

less

Transcript and Presenter's Notes

Title: Lessons from 30 years as a software engineer


1
Lessons from 30 years as a software engineer
  • Richard Atkins

2
Definition Crufty
  • origin unknown poss. from crusty' or cruddy'
    1. Poorly built, possibly over-complex. The
    canonical example is "This is standard old crufty
    DEC software". In fact, one fanciful theory of
    the origin of crufty' holds that was originally
    a mutation of crusty' applied to DEC software so
    old that the s' characters were tall and skinny,
    looking more like f' characters. 2. Unpleasant,
    especially to the touch, often with encrusted
    junk. Like spilled coffee smeared with peanut
    butter and catsup. 3. Generally unpleasant. 4.
    (sometimes spelled cruftie') /n./ A small crufty
    object (see frob) often one that doesn't fit
    well into the scheme of things. "A LISP property
    list is a good place to store crufties (or,
    collectively, random cruft)."
  • This term is one of the oldest in the jargon and
    no one is sure of its etymology, but it is
    suggestive that there is a Cruft Hall at Harvard
    University which is part of the old physics
    building it's said to have been the physics
    department's radar lab during WWII. To this day
    (early 1993) the windows appear to be full of
    random techno-junk. MIT or Lincoln Labs people
    may well have coined the term as a knock on the
    competition.

3
1 Get a job
  • You need a job to get a job
  • Work for free
  • You are competing against the Chinese.
  • Learn Chinese
  • LEARN ENGLISH. The Little Brown Book
  • Be creative, think, use initiative, volunteer for
    everything, get along with everybody

4
Definition Heisenbug
  • from Heisenberg's Uncertainty Principle in
    quantum physics A bug that disappears or alters
    its behavior when one attempts to probe or
    isolate it. (This usage is not even particularly
    fanciful the use of a debugger sometimes alters
    a program's operating environment significantly
    enough that buggy code, such as that which relies
    on the values of uninitialized memory, behaves
    quite differently.) Antonym of Bohr bug see also
    mandelbug, schroedinbug. In C, nine out of ten
    heisenbugs result from uninitialized auto
    variables, fandango on core phenomena (esp.
    lossage related to corruption of the malloc
    arena) or errors that smash the stack.

5
2 Get along with everybody
  • Smile a lot
  • Make friends in low places
  • Dont gossip
  • Employ the Golden rule
  • Address problems through channels
  • Shut up and listen
  • Reserve judgment
  • Dont take sides
  • Email is for cowards
  • Wait 5 years for your promotion

6
Definition RTFM
  • Unix Acronym for Read The F Manual'. 1.
    Used by gurus to brush off questions they
    consider trivial or annoying. Compare Don't do
    that, then!. 2. Used when reporting a problem to
    indicate that you aren't just asking out of
    randomness. "No, I can't figure out how to
    interface Unix to my toaster, and yes, I have
    RTFM." Unlike sense 1, this use is considered
    polite. See also FM, RTFAQ, RTFB, RTFS, RTM, all
    of which mutated from RTFM, and compare UTSL.

7
3 Iterative development
  • 4,6,8 week cycles
  • time boxing
  • Do not slip schedule
  • Feature lists

8
Definition XYZZY
  • from the ADVENT game The canonical magic
    word'. This comes from ADVENT, in which the idea
    is to explore an underground cave with many rooms
    and to collect the treasures you find there. If
    you type xyzzy' at the appropriate time, you can
    move instantly between two otherwise distant
    points. If, therefore, you encounter some bit of
    magic, you might remark on this quite succinctly
    by saying simply "Xyzzy!" "Ordinarily you can't
    look at someone else's screen if he has protected
    it, but if you type quadruple-bucky-clear the
    system will let you do it anyway." "Xyzzy!"
  • Xyzzy has actually been implemented as an
    undocumented no-op command on several OSes in
    Data General's AOS/VS, for example, it would
    typically respond "Nothing happens", just as
    ADVENT did if the magic was invoked at the wrong
    spot or before a player had performed the action
    that enabled the word. In more recent 32-bit
    versions, by the way, AOS/VS responds "Twice as
    much happens".
  • The popular minesweeper' game under Microsoft
    Windows has a cheat mode triggered by the command
    xyzzyltentergtltright-shiftgt' that turns the
    top-left pixel of the screen different colors
    depending on whether or not the cursor is over a
    bomb.

9
4 Be agile
  • Agile programming
  • Extreme, XP
  • Software Craftmanship Pete McBreen
  • I sing the Body Electric
  • Soul of the New Machine
  • Mythical Man Month
  • Dust or Magic

10
Definition flame
  • 1. /vi./ To post an email message intended to
    insult and provoke. 2. /vi./ To speak incessantly
    and/or rabidly on some relatively uninteresting
    subject or with a patently ridiculous attitude.
    3. /vt./ Either of senses 1 or 2, directed with
    hostility at a particular person or people. 4.
    /n./ An instance of flaming. When a discussion
    degenerates into useless controversy, one might
    tell the participants "Now you're just flaming"
    or "Stop all that flamage!" to try to get them to
    cool down (so to speak).
  • The term may have been independently invented at
    several different places. It has been reported
    from MIT, Carleton College and RPI (among many
    other places) from as far back as 1969.
  • It is possible that the hackish sense of flame'
    is much older than that. The poet Chaucer was
    also what passed for a wizard hacker in his time
    he wrote a treatise on the astrolabe, the most
    advanced computing device of the day. In
    Chaucer's "Troilus and Cressida", Cressida
    laments her inability to grasp the proof of a
    particular mathematical theorem her uncle
    Pandarus then observes that it's called "the
    fleminge of wrecches." This phrase seems to have
    been intended in context as "that which puts the
    wretches to flight" but was probably just as
    ambiguous in Middle English as "the flaming of
    wretches" would be today. One suspects that
    Chaucer would feel right at home on Usenet.

11
5 Be good at CM
  • Maybe 50 of bugs, schedule, cost is traced to CM
    errors.

12
Definition smoke test
  • 1. A rudimentary form of testing applied to
    electronic equipment following repair or
    reconfiguration, in which power is applied and
    the tester checks for sparks, smoke, or other
    dramatic signs of fundamental failure. See magic
    smoke. 2. By extension, the first run of a piece
    of software after construction or a critical
    change. See and compare reality check.
  • There is an interesting semi-parallel to this
    term among typographers and printers When new
    typefaces are being punch-cut by hand, a smoke
    test' (hold the letter in candle smoke, then
    press it onto paper) is used to check out new
    dies.

13
Big CM
  • Little CM
  • Version control
  • Access control
  • Change Control
  • Process enactment
  • Build support
  • Notification

14
Definition plokta
  • acronym Press Lots Of Keys To Abort To press
    random keys in an attempt to get some response
    from the system. One might plokta when the abort
    procedure for a program is not known, or when
    trying to figure out if the system is just
    sluggish or really hung. Plokta can also be used
    while trying to figure out any unknown key
    sequence for a particular operation. Someone
    going into plokta mode' usually places both
    hands flat on the keyboard and mashes them down,
    hoping for some useful response.
  • A slightly more directed form of plokta can often
    be seen in mail messages or Usenet articles from
    new users -- the text might end with
  • XC q quit q C end x exit ZZ D ? help as the
    user vainly tries to find the right exit
    sequence, with the incorrect tries piling up at
    the end of the message....

15
Summary
  • Discover where you came from.
  • Get a job
  • Inventory your social skills
  • Take CM seriously
  • Be agile
Write a Comment
User Comments (0)
About PowerShow.com