Something really bothered me in JAOO. A couple of the presenters had a slide that showed something like this:
The Relational / OO Divide
- DBA not familiar with OO design
- Developer not familiar with SQL
I asked around, and apparently there is this assumption on the Java world that developers are usually only vaguely familiar with SQL. I am not sure if this is the case in practice or not, but that just sounds insane to me.
I live in the .NET world, and here I expect all developers to have a fairly good grasp of SQL and how it works. Not to the DBA level, I wouldn't really expect a developer to be able to fully analyze a query or optimize it based on index scan patterns for Oracle 11.g with patch XYZ.B, but I would expect that they would know SQL as well as they know their programming language of choice.
In fact, thinking about it, in most of my recent projects, a developer is expected to know at least the following languages:
| || |
This isn't really from choice, this is simply because those are the stuff that we use fairly often. It seems odd to assume that you would limit that. That would severely limit your ability to actually do useful work.