DBAs and Developers seem to live in parallel universes. If and when they talk to each other, the air is often thick with misunderstanding. It seems that what we have here is a deep-seated communication problem. Although the two groups share a common technical language, they use terms slightly differently. A 'domain', 'transaction', 'object', 'entity' or a 'framework', for example, has subtly different meanings to the two camps. When a problem occurs, tensions can quickly rise as confusions in terminology get misinterpreted as accusations of blame. In short, communication between the two groups is shot through with a sort of cognitive dissonance, akin perhaps to a continuous Stroop effect.
I'm reminded of a short blog post by Seth Godin, in which an angry woman orders a "double double" and responds to the bemusement of the coffee shop attendant by simply repeating the same phrase, only louder. It's a pattern I see frequently in the interaction of DBAs and developers. Sometimes you need to find a different way to explain things.
Perhaps the answer is to create a new, mutually understood, language. When different cultures come together for a common purpose they often develop a new language to deal with the struggle. In the Great War, for example, the British army was peopled with a vast array of different cultures. In a spirit of camaraderie, they developed a private language, adopting words or phrases from different cultures, and giving them a new ironic meaning. Some of my favourite examples include archie, bar-poo, Asiatic Annie, belati (blighty), make a bogey, bondock, bun-strangler, cat-stabber, conk out, Dub-dub and Flaming Onions.
In the holiday spirit of enhancing kinship and fraternal feeling, we propose the development of a new common language for developers and DBAs. We encourage you to contribute your terms and definitions. The best entry, added as a comment to this blog, will receive a pair of Sennheiser noise-cancelling headphones, and the best runners-up will get Amazon vouchers or Simple-Talk gift bags.
To get things started, how about these:
Bar-Poo – To rush around prophesying that a project is doomed
BitHog – Memory intensive process
Bun-strangler– Teetotaller
Cookie – CPU
Cookie monster – CPU-hungry stored procedure
Data-dodger – Someone who is never around when the application hits data issues
DBA-AwayDay – DBA is closeted in the server room and won't come out
Deadlock holiday – Production system dies due to too many deadlocks
Doing a Gordon – Managing to break everything all at once
Domain Knowledge – Unhealthy interest in Middle-Earth
Dormouse – Anyone advocating, or using, Hibernate
Fluffer – Malfunctioning trigger
Freezing Temp DB – The effect of putting an exclusive lock on TempDB.
Gone Mae West (Syn: Gone dolly) – Database is bust, big time.
Grapeshot – Too many instructions and directives flying around everywhere
Heaphazard – Erratic indexing
Heaptastic – No indexing
Icarus – Anyone with a fascination for 'cloud' computing
Keyboard-junkie – Developer who types in code before planning
Kuntrachi – A contractor
Object of derision – Proselytizer of object databases
RastaBase – Any database prone to deadlocks
Serialisation – Turning a good book into a bad TV series.
Table-monkey – A developer who insists on access to base tables
Thremple – Endanger database by placing undue pressure on tempdb (e.g. to give a database a good thrempling)
TSQL Tourniquet – Code that encourages SQL Injection
Look forward to hearing your suggestions! Thank you to everyone who contributed to my previous "Grid" editorial; the winner of the voucher this time was Daniel Penrod.
On a wider note, I'd like to thank everyone who has contributed in some way to what has been a fantastic 2008 here at Simple-Talk. I wish you all a happy holiday season and the best of luck for the New Year.
See you all in 2009. Cheers!
Tony.