Click here to monitor SSC

Laila Lotfi

.NET tools Brand Manager & Simple-Talk Editor

The Exceptional DBA - A Developer's Perspective

Published Monday, June 22, 2009 9:13 PM

What makes an exceptional DBA? It depends on who you ask. In his book, How to become an Exceptional DBA, Brad McGehee gives his perspective on what it means to be a DBA, and the skills and traits that distinguish the exceptional DBA. It is the first time that anyone within the profession has spelled out in detail what the job really entails. The task isn't over, though. To be even clearer on the qualities that are required, we need to add in the consensus viewpoints of associated specialists, including developers, testers, architects, managers, and end-users.

A DBA's primary responsibility is the security, availability and performance of the company's databases, and the integrity of the data they contain. However, a DBA could get a tick in every one of these boxes, therefore making him exceptional in the eyes of other DBAs, but still fail to get peer approval from the developers he, or she, works with. The knowledge and skills of the DBA whose job it is to support a development team must extend beyond the database, and into the realm of the application architecture. It is the only way to appreciate the problems that developers face, and to be able to provide a solution that allows everyone to meet their obligations.

A DBA cannot afford to be too inflexible regarding opinion of the "right way" to architect an application. If the team is using nHibernate, for example, the DBA needs to understand how to reconcile the performance and security issues, rather than simply retreat into a state of entrenched opposition. This doesn't require mutant brainpower, but it does require patience and a willingness to listen, empathize, and to build trust within the team. Brad certainly covers this with his usual thoroughness but it would help to get the developer's view on this, because real-life development, inevitably, is never straightforward. According to one developer at Red Gate:

"There are a few times in my developer career where I can honestly say I received help from a DBA. Some DBAs are approachable, and more than willing to advise on problem queries, and show you clearly where you went wrong. However, I can count many more times when a DBA has been unapproachable and unhelpful - occasionally condescending and obstructive. How many times have I heard a DBA say "no" to a developer based on some vague "company policy issue" or on what he personally does and doesn't like to allow in his databases. Is it any wonder that developers stop listening to you or try to bypass you?"

So what, from a developer perspective, makes a DBA exceptional? Say, for example, a DBA realizes that a development policy will not scale up as required, or will not meet the security requirements in the business. How would an exceptional DBA handle this situation, and avoid it escalating into the usual state of guerilla warfare? How far should a DBA assist in the development of the application domain model? Should he, or she, get involved even in the User Interface, to ensure that the way that data is represented to the user is in line with the business's data model? Do developers see DBAs as merely providing a service in supporting a database whose schema is provided by the developers? It would be great to get your views. If you work with a DBA that offers your development team an exceptional level of support, then why not nominate him, or her, for the  Exceptional DBA Awards, to be awarded at this year's PASS summit?

Cheers,
Laila

by Laila

Comments

 

Rowland said:

From my experience I like to see DBAs who have a well rounded level of experience in operating systems, hardware, applications, software development and of course database platforms. That's just the technical side!

I think there's a soft-skill thing too:
1) Willingness to help others without belittling or demeaning
2) Maintaining things well enough there isn't any need for heroics
3) Being calm under pressure when --say--the production database server has just lost a motherboard and you have to cut over manually from Log Shipping while everyone is demanding answers.

Nice article--Thanks Laila!
June 23, 2009 11:52 AM
 

BuggyFunBunny said:

Developers (coders) are generally (universally, in my experience) ignorant of the relational model and database.  From COBOL to java, they treat data as mud which they intend to mould with their code into a shape of their desire.


>> How far should a DBA assist in the development of the application domain model?
The exceptional DBA specifies it.  The logical and physical integrity of the database is the DBA's responsibility.


>> Should he, or she, get involved even in the User Interface, to ensure that the way that data is represented to the user is in line with the business's data model?
May be.  It depends.  The widget used is up to the coder/user/business analyst/whoever.  On the other hand, the DBA is responsible for the meaning of the data, therefore, should the Others somehow manage to mangle or even corrupt the meaning of the data through UI, then the DBA has step in.


>> Do developers see DBAs as merely providing a service in supporting a database whose schema is provided by the developers?
Yes, and this is why so many applications are a mess.  Changing the pecking order, for better or worse, is determined by Upper Management.  In succesful organization, the DBA or an Architect, will have this responsibility.  Most companies don't have Architects, alas.


In a nutshell, a plumber is not qualified to be a neurosurgeon, even if he is able to disassemble a chicken in the kitchen.  
June 23, 2009 3:52 PM
 

Daily Links for Thursday, June 25th, 2009 said:

June 25, 2009 6:34 AM
 

HowWeLaughed said:

I find a lot depends on who end up supporting the resultant app(s). As having over 20 years experience in both dev and as pure DBA (both Dev and production) - I have found those who support are far more focused in the quality and deliverables. If the dev team support, they are far more willing to listen to an experienced DBA. Those teams who are tasked only with development and no responsibilty afterwards seem the most resistant to the DBAs advice and are only interested in delivering functionailty to deadlines (often tested on small dbs in single user environment). As a result, the poor performance then has to be addressed by the 'lowly' support DBA who then has to solve problems in production immediatley and with the additional burden of trying to work within/around source code/change control. These are when your exceptional DBA skills kick in (often just the bit where you bite your tongue and dont say 'I told you so').

To give an example only 6 months ago, one developer informed me that security isnt an issue/requirement because it wasnt in the 'Business Spec' - alsa it was the production DBAs then who were deemed as having failed the Sarbannes Oxley Audit for lack of security being implemented.

On an aside I personally dont like the idea of a DBA role being that off 'supporting' a dev team, they shouldnt support - they should be part of it - a 50/50 team effort - after all we are (or at least should be) all vested in the end product. If your DBA is only supporting - you are possibly not making the best of their skills.

There is too many skills/ much knowledge to be truly exceptional in .net (or any dev language) and in database technologies - you need experts in both who work together and see (and therefore respect) each others skill set. This can be implemented by good management, and this is where I believe I have observed the true weakness of the Developer/DBA relationship to be.

Nobody seems to want to bang our respective heads together.
July 2, 2009 10:35 AM
 

Mother Gl450, Gl450 Headlight Physician Assistant said:

May 20, 2010 8:04 PM
 

Navigator School, Gps Navigator Garmin said:

May 20, 2010 10:27 PM
 

300sel Seat Switch, 300sel Taillight 1991 Mercedes Benz said:

May 20, 2010 11:17 PM
 

Aftermarket Auto Parts 1991 Chevrolet Impala, 1999 Van Parts Chevy Impala said:

May 21, 2010 2:44 AM
 

Sebring Parts Chrysler Cirrus Oxygen Sensor, Diagram Engine 1999 Cirrus Lxi View Topic Chrysler said:

May 21, 2010 6:53 PM
 

F500 Contact Date, F500 Phone Super Video said:

May 21, 2010 9:37 PM
 

87 Wagoneer Jeep Grand Cherokee, 1994 Jeep Grand Cherokee Lift said:

May 22, 2010 12:03 AM
 

Escuela F 500 Exposure, Econoline Super Duty Replacement Crown Victoria Explorer Sport Trac said:

May 22, 2010 3:06 AM
 

Head Gaskets 1999 Toyota Camry, 2008 Toyota Camry Pricing Highlander said:

May 22, 2010 3:36 AM
 

Canon Hf100 Wide Angle Lense, 1969 Ford F100 302 Mustang 1966 said:

May 22, 2010 8:50 AM
 

Watch 280e, 280e Radiator Benz 300td Mercedes 190d said:

May 22, 2010 8:51 AM
 

Sts Heater Elementary, Honda Element Running Boards Dee Zee said:

May 22, 2010 8:53 AM
 

1995 Ford Windstar Weight, Abs Light Ford Windstar said:

May 22, 2010 9:10 AM
 

2001 Honda Accord Fuel Injectors, Honda Accord Toda said:

May 22, 2010 10:15 AM
 

280zx Parts Short Shifter, Megasquirt 280zx Turbo said:

PingBack from http://343.an74.com/
May 22, 2010 3:45 PM
 

Telephoto Lens Nikon D50, D50 Replacement Much said:

May 22, 2010 9:30 PM
 

Mitsubishi Galant Oe Replacement, Starion Review Mitsubishi Galant said:

May 22, 2010 9:55 PM
 

Lincoln Ls Oem Floor Mats Ford Expedition, 2003 Expedition Spark Plug Replacement - 151.computeronlinebingo.com said:

May 23, 2010 12:42 AM
 

Eurovan Headlight Fuse, Replacement Eurovan Body Parts Mass Air Flow Sensor - 78.jordanbrandallamerican.com said:

May 23, 2010 4:27 AM
 

E63 Amg Bulb Wiper Blade 2008 Mercedes, C230 Discount 2000 Bmw Usa E63 Amg - 489.akemet.com said:

May 23, 2010 5:18 AM
 

Silverado 1500 Hd Sale Nissan Versa Toyota Tundra, Mx 850 Universal Remote Control - 364.zapstreaming.com said:

May 23, 2010 5:40 AM
 

W200 Ram Coolant V8, Cooling System Auto Saturn Lw200 - 373.cmanager.org said:

May 23, 2010 5:41 AM
 

R2500 Suburban Headlight Assembly, R2500 Taillight Fmvss - 110.rkwrh.com said:

May 23, 2010 6:40 AM
 

Celebrity Radiator Low Coolant Bleeder Valve, Buy Celebrity Tattoos - 434.myipgirl.com said:

May 23, 2010 7:32 AM
 

Sportwagon Portugal Check Out, Sportwagon Parts Guaranteed De Tomaso Alfa Romeo Alfetta - 221.jordanbrandallamerican.com said:

May 23, 2010 8:25 AM
 

220d Used 1959 Mercedes Salt Spring Island, 220d Baseboard Mercedes - 219.jordanbrandallamerican.com said:

May 24, 2010 9:03 AM
 

Relay 2 Alternative Approved, Milktree Relay Harness - 450.luna-atra.net said:

May 25, 2010 5:39 PM
 

Low Azera, Mpg Hyundai Azera - 106.zapstreaming.com said:

May 25, 2010 6:38 PM
 

Mar Amantis Hawaii Ibiza Fiesta Milord Hotel, Sephia Car Dealer Kia Amanti - 431.rkwrh.com said:

May 25, 2010 9:19 PM
You need to sign in to comment on this blog

About Laila

I'm working for the .NET Tools division at Red Gate. These days, I'm spending most of my time working on SmartAssembly (.NET obfuscator, error reporting and feature usage reporting tool), and I'm currently looking to speak to anyone who has used the product for its error reporting technology. My email address: editor@red-gate.com
<June 2009>
SuMoTuWeThFrSa
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
Automated Script-generation with Powershell and SMO
 In the first of a series of articles on automating the process of building, modifying and copying SQL... Read more...

Converting String Data to XML and XML to String Data
 We all appreciate that, in general, XML documents or fragments are held in strings as text markup. In... Read more...

Geek of the Week: Don Syme
 With the arrival of F# 3.0 Microsoft announced a wide range of improvements such as type providers that... Read more...

How to Document and Configure SQL Server Instance Settings
 Occasionally, when you install identical databases on two different SQL Server instances, they will... Read more...

What's the Point of Using VARCHAR(n) Anymore?
 The arrival of the (MAX) data types in SQL Server 2005 were one of the most popular feature for the... Read more...