• If the stereotype is strong on both sides within an IT department, the first step is going to be the hardest and that is a mutual respect for one another, laying aside those biases toward the goal of acceptance and understanding.

    From there it is a issue of knowledge and information. All developers--those who truly want to take their careers to the next level, imo--should educate themselves in database architecture, relational models, optimizing SQL techniques and security and some database administration. The DBA(s) should do likewise in software engineering, OR/M, unit testing, etc.

    Neither side should feel they need to master the other, unless that's a personal goal. If so, that's commendable!

    For the software developer, another goal would be to include the DBA as part of the development cycles, working with them on data modelling, query optimization, security and deployment considerations.

    I am a software engineer with 20+ years experience but that experience also includes a vast background on Oracle (administration and PL/SQL), then later on SQL Server (admin and T-SQL). I gained invaluable knowledge and experience and I believe that I am a better developer because of that investment.

    I've passed this philosophy onto my development team as well, instilling in them the importance of database architecture, database administration and to write better code using that knowledge. I continue this tradition and it continues to pay off.