XpdWiki

FrontPage
RecentChanges
XtC
FindPage
PageIndex
XpApprentices

Set your name in
UserPreferences

Edit this page

Referenced by
EvilThings
GoodThings
SeeWhatTimBaconsB...
SometimesGoodAndS...




JSPWiki v2.0.52


GoodVsEvil


JeffMartin and TimBacon have been thinking about GoodThings and EvilThings, in the hope that our colleagues at work might start taking notice -- we're listing them here so we don't have to keep talking about them.

[1]

Interesting ... who held the red pen and who the blue ?? PaulS

I think I was holding the blue pen (JeffMartin) and TimBacon was holding the red pen though there was probably some swapping around. Does that help?

Here's a thought: the terms "good" and "evil" (where "good" is exactly the antonym of "evil") have no place in any comparison of technical solutions.

Abducting people and cutting off their heads on television, that's "evil". Starving thousands to death for reasons of political expediency, that's evil. Using a Singleton? Not evil.

Donating money to the Red Cross, that's "good". Offering a street-dweller a meal and a warm bed on a freezing cold night, that's good. Prefering composition over inheritance? Doesn't cut it.

Are we technologists, or preachers? If we are technologists, then perhaps we should be thinking more about better and worse engineering tradeoffs than about "good" and "evil".

The trouble with good and evil is that they are absolutes, whereas engineering tradeoffs are decisions made at a certain point in time, to resolve the forces in a given situation. At one time, or situation, a certain tradeoff might be preferable, and at other times and in other situations, not. And a given tradeoff can become less preferable over time. Or more so. There are general principles that give clues about what is likely to be preferable, and even catalogues of previously preferable solutions to refer to. But that's all. There are no commandments handed down by the God of technology.

Engineering isn't about the kind of right answer that's the right answer because it's the right answer, always and everywhere. It's about the most suitable solution that the enginer can think of to this problem right here, right now. Worrying about sin doesn't seem a good mindset for helping to find those solutions. --KeithB

I've lost all faith in grandiose, pompous phrases like "software engineering", "technical architect", "requirements engineer" and the other enterprise-ready buzzwords that people use to comfort themselves. What I like best about XP is that we're just programmers doing concrete things that people can see. Let's face it, we're not part of a regulated profession, nor are there any serious, independent qualifications. Craftsmanship is as far as it goes.

What is the stanard for engineering? A degree doesn't mean that somebody's up to being a developer (in fact most computer scientists probably don't care about development). I've personally worked with someone that'd been a developer for many years in a large telco, yet he was a truly crap developer - so experience isn't necessarily an indicator. The ACM didn't want to create an engineering certifaction exam, and I think I see why.

-- DafyddRees

Well, I don't have a lot of faith in disingenuous, pseudo-folksy phrases like "just programmers". Anyone who works in an XP environment and thinks that they are "just" a programmer probably isn't paying proper attention to what they are doing all day.

Meanwhile, nowhere above do I mention certification, or titles. I do think that it's fairly clear that there is a kind of thinking about the job of creating of software that has the engnieering nature (ie: adult, responsible, thoughtful, quantitative, open, disciplined, inventive...) and a kind that doesn't (ie sloganeering, dogmatic, canalised, blinkered).

The sort of thing that, say, JonBentley? writes about is a good example of the first. We should have more of that. Using scary words like "evil" to dismiss options and end conversations seems like the second, of which we should have less.--KB

Just because we try to be systematic and do things that approximate engineering some of the time doesn't mean we're there yet. Let's face it most programmers haven't heared of Jon Bentley or Don Knuth although they'd be proud to tell you which interface implements ejbCreate(). Why do you think Kent talks about "c2:ListeningTestingCodingRefactoring?" Why isn't it called "extreme software engineering?" I think Kent's choice of the word "programming" is very delibrate.

Come off it, "software engineering" even after all these decades is still an aspirational phrase. When I see people using that phrase I see handwaving and I'm looking for the dodgy bit that they're inviting me to overlook.

-- DafyddRees

The only person on this page using the phrase "software engineering" is you, and you clearly aren't responding to what I'm writing but rather grinding some axe of your own. I have no further part to play here. --KB

Cheer up Keith, I stopped using the word "evil" some time ago. -- DafyddRees


Something very odd is happening here. Spam rollback caused this page to appear in RecentChanges, then Keith and Dafydd start flamming each other again but from the same IP address. I have this vision of them paired flamed each other, throwing the keyboard back and forth. However I've just realised KB is back in the UK, so they're probably just in the same office. --OliBye

Hi Oli. I think the host you would have got out of DNS for that IP address would have been fwproxy... -- DafyddRees


Edit this page   More info...   Attach file...
This page last changed on 30-Nov-2004 19:36:40 GMT by 194.222.76.151.