Solved

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

Posted on 2009-07-04
18
989 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

 
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 43

Assisted Solution

by:Eugene Z
Eugene Z 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
 
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

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
I have a large data set and a SSIS package. How can I load this file in multi threading?
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.

737 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