flwyd: (Default)
[personal profile] flwyd
What’s he building in there?
What the hell is he building in there?
He has subscriptions to those magazines
He never waves when he goes by
He’s hiding something from the rest of us
He’s all to himself, I think I know why
He took down the tire-swing from the pepper tree
He has no children of his own, you see
He has no dog, he has no friends
And his lawn is dying
And what about those packages he sends?
What’s he building in there?
With that hook light on the stairs
What’s he building in there?
I’ll tell you one thing, he’s not building a playhouse for the children
What’s he building in there?
Now what’s that sound from underneath the door?
He’s pounding nails into a hardwood floor
And I swear to God I heard someone moaning low
And I keep seeing the blue light of a TV show
He has a router and a table saw
And you won’t believe what Mr. Stiches saw
There’s poison underneath the sink of course
There’s also enough formaldehyde to choke a horse
What’s he building in there?
What the hell is he building in there?
I heard he has an ex-wife in some place called Mayors Income, Tennessee
And he used to have a consulting business in Indonesia
But what’s he building in there?
He has no friends but he gets a lot of mail
I bet he spent a little time in jail
I heard he was up on the roof last night, signaling with a flashlight
And what’s that tune he’s always whistling?
What’s he building in there?
What’s he building in there?
We have a right to know

-- Tom Waits, "What's He Building?"
see some neat comments, too.
I just posted the following to /.'s discussion "Are Programmers Engineers?. I thought I'd post it here, as it's something I've thought for some time.

ΤΒΠ (Tau Beta Pi, the Engineering Honor Society) has struggled with this question as well. What disciplines should be considered "engineering?" At last year's convention, we approved (pending ratification due on Tuesday) following the guidelines set forth in ABET's criteria for Engineering programs. ABET (Accreditation Board for Engineering and Technology) accredits four types of programs -- engineering, engineering technology, computer science, and applied math. ΤΒΠ's move was to limit membership to those programs which fall in the domain of the first.

ABET recently added accreditation guidelines for Software Engineering, but as yet, no such programs have yet been accredited. (That is, their pop-up menu for "search by program" doesn't list Software Engineering.) ABET also accredits Computer Engineering, which is usually about hardware, though this includes some programs with "Computer Science" in their names (such as Berkeley's EECS program).

The requirements for Software Engineering are:
1. Curriculum
The curriculum must provide both breadth and depth across the range of engineering and computer science topics implied by the title and objectives of the program. The program must demonstrate that graduates have: the ability to analyze, design, verify, validate, implement, apply, and maintain software systems; the ability to appropriately apply discrete mathematics, probability and statistics, and relevant topics in computer science and supporting disciplines to complex software systems; and the ability to work in one or more significant application domains.
2. Faculty
The program shall demonstrate that those faculty teaching core software engineering material have practical software engineering experience.

This is the sense of "engineering" which is concerned with the profession of engineering -- who can legally say they're an engineer, which is what the Texas legislature is talking about. But the word "engineer" goes beyond accreditation and licensing. Are the only teachers in the world people who have a license to teach? Are you out of line by calling Hippocrates a physician and doctor because he didn't have an M.D.? Of course not.

The second sense of "engineer" is someone who integrates principles of math and science with real-world constraints in the design, creation, or maintenance of some in-context solution. Thus, studying the physical properties of electricity and building a circuit isn't engineering, it's science. But building such a circuit under performance, economic, and other constraints is engineering.

Algorithm development is thus mathematical engineering. When Edsgar Dijkstra first published a shortest path algorithm and provided a complexity bound (the first version was O(n3) I think), mathematicians said "So what? Just list all possible paths and pick the shortest one." Which is, of course, impractical for any large system.

Software Engineers work with performance constraints, economic constraints, time constraints, constraints imposed by existing systems, security constraints, constraints of readability and maintainability, etc. The code you write for a homework assignment which is graded purely on its functional properties isn't (likely) an engineered program. But programs you download (especially large ones) have been engineered (or they suck).

Engineering doesn't have to be technical, though. City planners can be said to be Social Engineers. Some people claim the title of Financial Engineer. The folks at Kodak are Image Engineers. Gutenberg was one of the world's first Publishing Engineer.

"Engineering," like "guardian" has a legal definition and a common sense definition. Engineering, in English, is an approach and a mindset.
December 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2025

Most Popular Tags

Expand Cut Tags

No cut tags
Page generated Tuesday, December 30th, 2025 05:57 am
Powered by Dreamwidth Studios