Solved

SQL dba vs SQL Developer: Wha tis the 'intersect'?

Posted on 2009-07-04
18
984 Views
Last Modified: 2012-05-07
Can a competant/seasoned developer, generally, be able to cope with the Admin duties of a DBA, on a small curve?

What about a knowledeable DBA who may try to cope up as developer? How realistic is it?

Any experiences? Thanks


0
Comment
Question by:anushahanna
  • 8
  • 4
  • 3
  • +3
18 Comments
 
LVL 57

Accepted Solution

by:
Raja Jegan R earned 100 total points
ID: 24778579
Ok.. To clarify your basic doubt, DBA is required to know the following things:

1. Installing and Upgrading an SQL Server
2. Monitoring the Database Server's Health and Tuning Accordingly
3. Planning for Proper Storage
4. Performing Backup and Recovery Duties & Maintenance Tasks
5. Managing Database Users and Security
6. Working with Developers / Programming
7. Transferring Data / Migration
8. Replicating Data / High Availability
9. Data Warehousing
10. Database Documentation & Coding Standards Design.

As you see the list of tasks above, A DBA is expected to be strong in everything except in Step 6 ie., Programming. If DBA is strong in Programming knowledge its preferable as it would help in better coding Practices being followed across.

A Developer can learn all the things other than step 6 for his day to day activities which can help a little bit too.

Hope this helps
0
 
LVL 75

Assisted Solution

by:Aneesh Retnakaran
Aneesh Retnakaran earned 80 total points
ID: 24778581
>Can a competant/seasoned developer, generally, be able to cope with the Admin duties of a DBA, on a small curve?

Depends on your skills and adptability

>What about a knowledeable DBA who may try to cope up as developer? How realistic is it?
I know lots of DBAs who hate programming
0
 
LVL 57

Expert Comment

by:Raja Jegan R
ID: 24778584
One more reference wrt DBA Roles:

http://sql-server-performance.com/Community/forums/p/21365/122039.aspx

And a Developer can also be expected in some cases to be aware of all these aspects which would help them code better.
0
 
LVL 31

Assisted Solution

by:RiteshShah
RiteshShah earned 80 total points
ID: 24778726
well DBA and Developer both are challenging and important duty. As long as my view is concern, both should have their own task only. how do you expect that DBA will be free from his routine task and will work as developer? If DBA is really working properly than he has to do lots of thing as I don't think so he can spare that MUCH TIME which he can spend in development and same with developer.
0
 
LVL 42

Assisted Solution

by:EugeneZ
EugeneZ earned 80 total points
ID: 24778781
you'd like to be DBA-  no problems

just be ready to be 24x7x365 on call duties,
for a lot of stress = much-much more then developer

so if you mentally and physically  ready - you on your way to be  dba

now - you need to know everything what developer knows, and much more: people call  it database administration (see posts above): sql server, Windows, networking, etc...
---
it is not easy job and not for everyone ...
0
 
LVL 23

Assisted Solution

by:Racim BOUDJAKDJI
Racim BOUDJAKDJI earned 80 total points
ID: 24779700
<<Can a competant/seasoned developer, generally, be able to cope with the Admin duties of a DBA, on a small curve?>>
Interesting question.
The gap between the skillset for being considered a decent DBA and a decent Database Developper has been widenning *only* the last decade.  

There was a time where a DBA *had* to have a good grasp of  database developpment for maintaining his system right, and a time where a developper could not be doing a good job if he/she did not take into consideration precisely how his application would actually run on daily basis (how easy it would be to maintain).  Unfortunately, in the last years, developpers are totally ignoring the conditions, on which what they developp, may actually be running in production, and DBA's totally gave up on development and perefered to focus on maitaining availability on an *as-delivered* basis.  

The main reason for that is the ignorance of database fundamentals.  The fundamentals for any database practitionner should be the same so my best advice is for you to get back to the source that is common to both job profiles.


IMHO
0
 
LVL 23

Expert Comment

by:Racim BOUDJAKDJI
ID: 24779717
<<now - you need to know everything what developer knows, and much more: people call  it database administration (see posts above): sql server, Windows, networking, etc...>>
Yep.  Just as a side note and food for thought...  

Many years ago I used to work with good database analysts and developpers who were aware of all consequences of undeducated database programming.   My job at that time was ideal: no regular on calls, good/performant applications, my job was mainly about maintaining scalability. Now database analyst and true database developpers are almost an extinct profession.

It is only when we start considering that the two database jobs should not respect the same fundamentals that an artificial rift occurs between the two professions, hurting both professions.

IMHO/
0
 
LVL 23

Expert Comment

by:Racim BOUDJAKDJI
ID: 24779723
<<What about a knowledeable DBA who may try to cope up as developer? How realistic is it?>>
An educated database practionner should be able to be totally interchangeable in both professions.
0
 
LVL 57

Expert Comment

by:Raja Jegan R
ID: 24779753
>> An educated database practionner should be able to be totally interchangeable in both professions.

To achieve this, that person should be a developer first knowing all concepts and then can be an administrator.
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 23

Expert Comment

by:Racim BOUDJAKDJI
ID: 24779784
<<To achieve this, that person should be a developer first knowing all concepts and then can be an administrator.>>
Well if you ask me I don't believe that it is simply a matter of *who came first* debate.

One could argue, that there is *no way*, one could make proper development if he has not tasted the *joys* of seeing database systems fall appart in production as a dba (and had to fix them).  Knowing how the database system behave in production will make you a better developper, I guarantee that.

*Database Concepts* are a vague term which is why I prefer to refer to a proper *fundamental* education in database management.  Reading books to understand relational model form people like CJ Date are the only way that a database practitionner can understand what is truly happening, and independently from specific situations, contexts and assigned roles.
0
 
LVL 51

Assisted Solution

by:Mark Wills
Mark Wills earned 80 total points
ID: 24780607
>> Can a competant/seasoned developer, generally, be able to cope with the Admin duties of a DBA, on a small curve?

Should be able to. The better SQL Developers know or study various DBA tasks any way.

>> What about a knowledeable DBA who may try to cope up as developer? How realistic is it?

Should be able to. The better DBA's know or study various SQL development tasks any way.


The truth is more like a Programmer gets involved with SQL development without the appreciation and knowledge of database structures, so creates convenient data repositories more so than well designed databases.

Second truth is a lot of DBA's are the accidental DBA where they find themselves in the role of having to look after a server.

Fortunately SQL database does a reasonable job of protecting the innocent.

However, the "accidental" roles are a long way off the dedicated and special purpose roles of DBA.

The better DBA's have an affinity and understanding of the development task. I do not believe it is entirely neccessary the otherway around, because the most likely first appointment into a specific SQL role really should be the "hands-on" DBA. The SQL Developer is a harder role to justify in anything but the larger organisation with data warehousing projects and the like. Whereas the DBA role is important from the get go, and good DBA's can do the development work. There are a lot of DBA's who do not like to, or do not have to, but then they are also likely to be part of the larger organisation where they do have SQL developers.

0
 
LVL 23

Expert Comment

by:Racim BOUDJAKDJI
ID: 24780793
<<The truth is more like a Programmer gets involved with SQL development without the appreciation and knowledge of database structures, so creates convenient data repositories more so than well designed databases.>>
Very true.  I like the term used for that by CJ Date for what you are refering to: *data bags* vs *databases*.  

In any case, the distinction between the skillset required for the two roles is a mistake itself.  

Could we consider that a developer can actually do a good job while ignoring the current conditions on which his code will actually be running ? No.  Developpers who totally ignore economical aspect of their code are doomed to be poor developpers (in any language).
Inversely, can we consider that a DBA can actually well protect better his system if he is no involved at some point in helping development on the SQL part?  No.  DBA who do not treat potential threats in a proactive way remain poor DBAs.

Best regards...
0
 
LVL 51

Expert Comment

by:Mark Wills
ID: 24781703
Love the "data bags" haven't heard that before...

The expertise of the (app) developer is not overly different to the SQL roles, in so much as, the better ones do have an understanding. I would go an extra step and say that "knowledge" of the better developer equally applies to any computing environment such as network (comms), security, hardware (resource) utilisation etc.

However in the bigger development groups, it is likely that they are less exposed, or, don't have that responsibility. I have most definitely seen developers that really do not have any interest in database nuances, other than "tell me where I get it from".

One thing for sure is the more you actually have to perform a specific role, then the better you get at doing that job, so long as you a prepared to learn. So, fro someone to pick up elements of DBA, if they are thrust into that role then they will get better at the role, the more they do and the more they learn. It might not be enough to say "I am a bonafide DBA", but it is a starting point. If they cannot then they possibly are not the best developer either.

So the only real answer I can give is it really depends on the individuals ability to learn. Some are clearly better than others. That is most likely to show in their current role - regardless of that role.

The propensity to learn more likely translates to an evolution towards the DBA role (on a small curve) rather than from the DBA becoming a developer. It is a question of evolution, experience and theoretical seniority. We also need to be mindful that in the SQL world it is a relatively new recognition of the need for a dedicated or purpose built DBA and so, for a lot of DBA's, it is most likely that they have evolved from a development role of some description anyway.

But these are all very broad generalities. What is the background for this question ?
0
 
LVL 23

Expert Comment

by:Racim BOUDJAKDJI
ID: 24781861
<<I would go an extra step and say that "knowledge" of the better developer equally applies to any computing environment such as network (comms), security, hardware (resource) utilisation etc.>>
Yes.

<<other than "tell me where I get it from".>>
LOL. ;))  I particularly like the *silence* that follows the DBA's response.

<<One thing for sure is the more you actually have to perform a specific role, then the better you get at doing that job, so long as you a prepared to learn. >>
I'd argue it depends what you learn.  An old friend of mine used to say *there is a significant difference between 20 years of experience and 20 time 1 year*.  He also said *Experience and Intellectual Agility can replace fundamental knowledge only in a limited fashion*.  After 35 years in the database industry, he finally gave up, considering it a lost cause.

<<But these are all very broad generalities. What is the background for this question ?>>
I do believe that this discussion will give a broader picture to the questionner to help him make a decision.

Anyway, it's interesting, once in a blue moon, to have the opportunity to exchange on important issues such as the one the questionner has raised.

Thanks.
0
 
LVL 51

Expert Comment

by:Mark Wills
ID: 24781927
Not sure whether I should post a *laughing* because of your comments, or, *crying* because it is unfortunately often the case.

It also depends on the definition of DBA - anyone can learn to build a maintenance plan, make sure backups happen, add new users etc. For some, they don't need too much more - especially if using good quality third party packages with their own databases (and no, we will not get started on that one - there are tons of third party packages that do not do the right thing with a database). So, for a small shop, with very few requirements of the database, then it becomes relatively easy. But then I would argue those tasks alone do not make a DBA.
0
 
LVL 23

Expert Comment

by:Racim BOUDJAKDJI
ID: 24783464
<<Not sure whether I should post a *laughing* because of your comments, or, *crying* because it is unfortunately often the case.>>
At some point, humor is the only sane response to absurdity.

Check out the site below...

http://www.dbdebunk.com/laughcry.html
http://www.dbdebunk.com/content2006.html

Regards
0
 
LVL 51

Expert Comment

by:Mark Wills
ID: 24784140
Interesting to see our own dportas feature in a few of those discussions :)
0
 
LVL 23

Expert Comment

by:Racim BOUDJAKDJI
ID: 24785489
<<Interesting to see our own dportas feature in a few of those discussions :)>>
Yes.  Fabian PASCAL work in dbdebunk and his books was a beacon of reason for a lot of *thinking* practitionners.

Regards..
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
Via a live example, show how to shrink a transaction log file down to a reasonable size.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now