It’s interesting to listen when DBA’s get together, there is always a story or two about the evil that developers do. I think we tend to get the victim mindset some, because certainly we have limited control over how many things are done and then feel like we’re held accountable for any problems that result. I get that, really I do, but at the same time, if you step back from it, it’s almost funny – heck, maybe it really is funny, that this is how the IT world works?
For example, over the years I’ve learned that most developers aren’t that interested in data. It’s there, it’s necessary, but it’s not cool. Add the perceived roadblock of a DBA and they’d opt for storing data in a 1 TB XML file if allowed! I’ve also seen that developers seem to want to ‘peg the needle’, going all one way or all the other way. Show them a loop, soon all the solutions will use a loop. Band aid a problem using NOLOCK and within 2 weeks every new query will be using it. Years ago I showed someone that a technique to make a really complex query to understand was to build part of it and put it into a temp table. Not the best solution, but it helped them get going and get what was really a report done. Months later I looked at some other work, and yes, temp tables every where!
As much as it annoys me, much of it is just human nature. Things we show them are relatively minor in the scope of the work they are doing, so they treat it like trusted advice and just do it that way going forward. I wonder if we don’t spend enough time on the nuances of our comments, and then wonder if that doesn’t get lost because we put caveats on everything!