Deep in engineering, where mortals seldom go
A manager and customer come looking for a show
They pass, amused, among us and they sign in on the log
They've come to see our pony and they've come to see our dog
Three things to be wary of: A new kid in his prime
A man who knows the answers, and code that runs first time
Summoned from our cubicles, to conference room we go
We bring our dog and pony, 'cause we know they'll want a show
Watching while we enter, with a shifty, restless eye
The customer sits waiting in his pin-striped suit and tie
Three things never trust in: That's the vendor's final bill
The promises your boss makes, and the customer's good will
The pony kicks his heels up as the doggie does his trick
And hams it up with vigor as we lay it on real thick
The customer just watches as we do this song and dance
Then reaches for his briefcase, only giving us a glance
Three things see no end: A loop with exit code done wrong
A semaphore untested, and the change that comes along
From briefcase then there comes a list of things we must revise
And all but four within the room are taken by surprise
And all but four are thinking of their last job with remorse
The customer, the manager, the doggie, and the horse
Three things hold no secrets: Files that somehow hit the net
The boss' secretary, and the third thing... I forget
First, twenty-one new features that we somehow must add in
Then, thirty-seven changes show up, much to our chagrin
And this thing's just inadequate, and that thing's just plain wrong
And, by the way, your schedule's about three months too long
Three things it is far better that only you should know:
How much you're paid, the schedule pad, and what is just for show
The customer proceeds to go through each change, line by line
Excruciating detail which no logic can divine
And when it ends, there's only four not sitting there agog
The customer, the manager, the pony, and the dog
Three things never anger: First, the one who runs your deck
The one who does the backup, and the one who signs your check
Now we are contract software types who spend our days and nights
Embedded in the system, down with all the bits and bytes
And none but us can tell full well the damage done today
It's what they do not know for which they're gonna have to pay
Three things are most perilous: Connectors that corrode
Unproven algorithms, and self-modifying code
The manager and customer are quick to leave this bunch
They take the dog and pony, and they all go out to lunch
Now how will we avenge ourselves on those who raise our ire?
Write code that self-destructs the day the warranties expire
Three things trust above all else: Your knowledge of your craft
That someone turns a profit, and that you will get the shaft