SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


DBAs Need to Learn to Develop


DBAs Need to Learn to Develop

Author
Message
Jeff Moden
Jeff Moden
SSC Guru
SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)

Group: General Forum Members
Points: 85553 Visits: 41082
Steve Jones - SSC Editor (1/7/2014)
Jeff Moden (1/6/2014)
Considering the "DBAs" that I've interviewed in the last six months, I'd say they shouldn't take the time learning more about development... they should first learn how to be a bloody DBA. Blink


For sure, but that doesn't mean they shouldn't also learn development skills after.


Heh... for the one's that I've interviewed recently, there apparently isn't room in the cranial cavity. :-)

Sorry... I'm just bitchin' because of the candidates I've had to interview. Keeps me from breakin' stuff. :-D

--Jeff Moden

RBAR is pronounced ree-bar and is a Modenism for Row-By-Agonizing-Row.
First step towards the paradigm shift of writing Set Based code:
Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
If you think its expensive to hire a professional to do the job, wait until you hire an amateur. -- Red Adair

Helpful Links:
How to post code problems
How to post performance problems
Forum FAQs
Luis Cazares
Luis Cazares
SSCoach
SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)

Group: General Forum Members
Points: 16424 Visits: 19084
Jeff Moden (1/7/2014)
eccentricDBA (1/7/2014)
I agree that a DBA should learn how to develop. At the very least they should learn how to use a scripting language (dos batch, bash, cscript, vbscript, perl, powershell). The goal of a DBA is to have a consistent repeatable environment and having the ability to write enough code to automate that process only helps to make you a better DBA.


You left out the most important scripting language of them all for a DBA... T-SQL. I'm shocked and mortified at the number of people that have "DBA" on their resume that can't do a simple joined update.

What about a simple joined select? Crazy I wonder how their databases worked.


Luis C.
General Disclaimer:
Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?


How to post data/code on a forum to get the best help: Option 1 / Option 2
ccd3000
ccd3000
SSC Veteran
SSC Veteran (210 reputation)SSC Veteran (210 reputation)SSC Veteran (210 reputation)SSC Veteran (210 reputation)SSC Veteran (210 reputation)SSC Veteran (210 reputation)SSC Veteran (210 reputation)SSC Veteran (210 reputation)

Group: General Forum Members
Points: 210 Visits: 769
I agree. I think I'm a much better DBA due to my development background (COBOL/MVS (ahhh!) and .NET) than I otherwise would be if I had just got out of school and started working as a junior DBA moving code changes in and out of production and managing jobs, etc.. I've also worked help desk and network administration (where I was recruited out of) that I believe has helped to inform my system perspective immeasurably.

I don't generally see developers as the problem. Maybe the Entity Framework... sorry Lerman... :-) I think most of the responsibility can usually be laid at management's feet when they won't invest in training and development. This is part art and science as well as a practice and some things are best learned the hard(er) way then solely out of a book. Besides talent, the best DBA's I know also have a lot of experience. Management should aggressively foster that talent and offer opportunities that expose them to different aspects of the system whenever possible. I think spending time on both sides of the fence can help you better identify decision points where you or someone else may be coupling the data too tightly to the application and where the best trade-offs are.
Jeff Moden
Jeff Moden
SSC Guru
SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)

Group: General Forum Members
Points: 85553 Visits: 41082
Luis Cazares (1/7/2014)
Jeff Moden (1/7/2014)
eccentricDBA (1/7/2014)
I agree that a DBA should learn how to develop. At the very least they should learn how to use a scripting language (dos batch, bash, cscript, vbscript, perl, powershell). The goal of a DBA is to have a consistent repeatable environment and having the ability to write enough code to automate that process only helps to make you a better DBA.


You left out the most important scripting language of them all for a DBA... T-SQL. I'm shocked and mortified at the number of people that have "DBA" on their resume that can't do a simple joined update.

What about a simple joined select? Crazy I wonder how their databases worked.


Spot on. They didn't do so well there, either.

I suspect these folks had nothing to do with the actual data/databases. It would appear that most of them survived by using 3rd party tools to do their backups, etc, and were artful dodgers in avoiding doing any real DBA work.

--Jeff Moden

RBAR is pronounced ree-bar and is a Modenism for Row-By-Agonizing-Row.
First step towards the paradigm shift of writing Set Based code:
Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
If you think its expensive to hire a professional to do the job, wait until you hire an amateur. -- Red Adair

Helpful Links:
How to post code problems
How to post performance problems
Forum FAQs
Jim P.
Jim P.
SSC Eights!
SSC Eights! (903 reputation)SSC Eights! (903 reputation)SSC Eights! (903 reputation)SSC Eights! (903 reputation)SSC Eights! (903 reputation)SSC Eights! (903 reputation)SSC Eights! (903 reputation)SSC Eights! (903 reputation)

Group: General Forum Members
Points: 903 Visits: 2215
Jeff Moden (1/7/2014)
You left out the most important scripting language of them all for a DBA... T-SQL. I'm shocked and mortified at the number of people that have "DBA" on their resume that can't do a simple joined update.

I don't do them every day, and do them in both Access/JET and T-SQL so the syntax has just enough differences that I may have to google the syntax after a few weeks of not developing. But I can do it.

Select queries with joins are a breeze though.



----------------
Jim P.

A little bit of this and a little byte of that can cause bloatware.
eccentricDBA
eccentricDBA
SSCommitted
SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)

Group: General Forum Members
Points: 1722 Visits: 1339
Jeff Moden (1/7/2014)
eccentricDBA (1/7/2014)
I agree that a DBA should learn how to develop. At the very least they should learn how to use a scripting language (dos batch, bash, cscript, vbscript, perl, powershell). The goal of a DBA is to have a consistent repeatable environment and having the ability to write enough code to automate that process only helps to make you a better DBA.


You left out the most important scripting language of them all for a DBA... T-SQL. I'm shocked and mortified at the number of people that have "DBA" on their resume that can't do a simple joined update.


Jeff,
You are absolutely right. I did forget T-SQL, the most powerfull of all languages when working with databases. Unless you are working with the DB that shall not be named then it would be PL\SQL.

I really want to go on a rant here about n-tier and ORMs but I'm going to save it for someone else.

A great craftsman knows his/her tools and knows who to use the appropriate tool, language, for the problem at hand.

What's the saying? "If all you have is a hammer every things a nail".


--Carlton
Jeff Moden
Jeff Moden
SSC Guru
SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)SSC Guru (85K reputation)

Group: General Forum Members
Points: 85553 Visits: 41082
eccentricDBA (1/9/2014)
What's the saying? "If all you have is a hammer every things a nail".
--Carlton


The problem is that a lot of people keep going to the store in the next state to buy a new type of hammer for the same old problems. There are some things that ya just gotta use a hammer for. ;-)

--Jeff Moden

RBAR is pronounced ree-bar and is a Modenism for Row-By-Agonizing-Row.
First step towards the paradigm shift of writing Set Based code:
Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
If you think its expensive to hire a professional to do the job, wait until you hire an amateur. -- Red Adair

Helpful Links:
How to post code problems
How to post performance problems
Forum FAQs
Manie Verster
Manie Verster
SSCommitted
SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)

Group: General Forum Members
Points: 1623 Visits: 1022

What's the saying? "If all you have is a hammer every things a nail".


Just don't give Jeff a hammer please because he might break something. :-D:-D:-D:-D:-D:-D:-D

Hi Steve, great article. I think not only do DBA's need to learn to develop, but developers need to learn something of what a DBA do. You know, in 2012/2013 I was put on the spot as a developer to start administering our database. The company bought a new server for the database (we did not always have a dedicated server for our database because it was only 15 GB) and told me that is your server, that is your database now look after it and I had to suddenly learn a couple of things to administer this database. Well, this opened my eyes to better develop my applications, to look in a new way at the performance of my application. It changed the way I did T-SQL coding and now before I just say select * from table I put the query through it's paces to see how I can better this.
Next point of order, I think all IT professionals should learn something about each and every field of IT. It does not need to be full on training but at least something that can help you to understand about it.
I actually tried that and went to sit with our network/server it on a quiet day to learn something but I was summarily told to please learn it somewhere else.

:-PManie Verster
Developer
Johannesburg
South Africa

I can do all things through Christ who strengthens me. - Holy Bible
I am a man of fixed and unbending principles, the first of which is to be flexible at all times. - Everett Mckinley Dirkson (Well, I am trying. - Manie Verster)
Sean Redmond
Sean Redmond
Mr or Mrs. 500
Mr or Mrs. 500 (543 reputation)Mr or Mrs. 500 (543 reputation)Mr or Mrs. 500 (543 reputation)Mr or Mrs. 500 (543 reputation)Mr or Mrs. 500 (543 reputation)Mr or Mrs. 500 (543 reputation)Mr or Mrs. 500 (543 reputation)Mr or Mrs. 500 (543 reputation)

Group: General Forum Members
Points: 543 Visits: 736
A senior developer who recently left our company expressed the opinion to me that the DBAs should be in charge of the Data Access Layer.
He was very definite that we (the DBAs) should be able to code with ease in C#, understand Visual Studio & the Build-process.
Only when the DBAs work with the developers under their conditions as a part of their team, would the friction between the DBAs and developers stop.

I am in two minds about this. It would me several years to get up to a level of C# that is good enough for daily programming, unless, of course, I start learning C# full-time.
Added to that, there are other aspects of SQL Server that I would prefer to master and SQL server is such a broad field.

However, my gut-feeling is that the recently departed developer is correct. I can moan all I like about Entity-Framework, but until I am in a position to do something about it, I have to live with it. It would be advantageous for DBAs to start taking charge of the DAL.
Manie Verster
Manie Verster
SSCommitted
SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)

Group: General Forum Members
Points: 1623 Visits: 1022
Sean Redmond (12/13/2016)
A senior developer who recently left our company expressed the opinion to me that the DBAs should be in charge of the Data Access Layer.
He was very definite that we (the DBAs) should be able to code with ease in C#, understand Visual Studio & the Build-process.
Only when the DBAs work with the developers under their conditions as a part of their team, would the friction between the DBAs and developers stop.

I am in two minds about this. It would me several years to get up to a level of C# that is good enough for daily programming, unless, of course, I start learning C# full-time.
Added to that, there are other aspects of SQL Server that I would prefer to master and SQL server is such a broad field.

However, my gut-feeling is that the recently departed developer is correct. I can moan all I like about Entity-Framework, but until I am in a position to do something about it, I have to live with it. It would be advantageous for DBAs to start taking charge of the DAL.



Don't rush it. Take this tutorial http://csharp.net-tutorials.com/. It teaches you from basic c# and onward. Once you get it you will enjoy it and there is nothing like another item to add to your CV. Happy coding!

:-PManie Verster
Developer
Johannesburg
South Africa

I can do all things through Christ who strengthens me. - Holy Bible
I am a man of fixed and unbending principles, the first of which is to be flexible at all times. - Everett Mckinley Dirkson (Well, I am trying. - Manie Verster)
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search