Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.server -> Re: Software Engineering/Database Administrator

Re: Software Engineering/Database Administrator

From: Gump <>
Date: 9 Feb 2005 17:52:16 -0800
Message-ID: <>

Hi JJack

Good question. Extremely subjective, but good question. Note you're likely to end up more confused asking a question like this. Anyway, here's my two cents worth (keep the change)...

Fact: There will always be software engineering roles and there will always be database administrator roles.

Don't let anyone convince you otherwise. People will tell you database administration is becoming more and more automated meaning the role of the DBA is becoming obsolete. This statement does not hold true and probably never will. Think about it... the database engine is built by software engineers. Are you going to tell me that they're finally going to get it right and produce the first ever perfect automated system? I sincerely doubt it.

Fact: There will always be a greater number of software engineer roles available on the market compared to DBA roles.

That's an obvious one. In a development environment for any single database being managed by say a few DBAs there will always be at least a handful of developers, probably more.

Some people favour this ratio and choose a software engineering career based on this fact. But there's two ways to look at this. With less DBAs around there is less competition. If demand for DBAs rises (supply and demand rises and falls in all markets worldwide) you suddenly find yourself in a rather attractive negotiating position. Take a look at the market next time an Oracle Database desupport date rolls around. "Where are the DBAs? We need to upgrade!!!"

Fact: A good DBA is typically paid more than a developer.

Some will argue this is crap. And they will probably back it up with hundreds of examples. But on average a DBA will be paid more. Think about it, the database is the core component of an organisation's systems. If it goes down the organisation can and will lose money, fast. When a developer stuffs up it's most often classed as a "bug" and logged in a system somewhere to be looked at sometime. Organisations have a heavy reliance on good DBAs to keep their systems up and running. Developers do not typically have this same level of responsibility which in turn means they don't have the same negotiating power when it comes to salaries. Responsibility = Money.

Fact: DBAs are often required to clean up the mess made by developers.

The application is performing badly - who gets the blame? The DBA.
"There must be something wrong with the database!" More often than not
you will find the cause to be poorly written application code. The DBA has to identify this code and often come up with the solution to fix it. This means the DBA often requires and has programming experience. Don't think if you become a DBA that you will never code. I promise you will. Whether it be simply fixing up developers' coding errors, writing scripts, creating reports, building small management apps, there will be many opportunities to develop code as a DBA. Often the DBA will have an influential role in a team of developers providing guidance and assistance to develop optimised code. I have seen too many cases where the inclusion of a good DBA in early product development could have saved an application.

Fact: A career spans many many years.

So long in fact that you could spend 20 years being a developer and then the next 20 being a DBA. Don't worry yourself over which one is right choice for now. If you start with one you can always switch to the other. Do what you think you will enjoy the most right now. Find out what motivates you and then see which fits the best.

I personally think a development role is suited better to your more
"creative" type of person, whereas DBAs are required to be much more
structured and organised - it is their job to make sure everything is in line, running smoothly. This may sound uninteresting but as a DBA you have a BIG responsibility. You are often the person designing and managing things like disaster recovery plans for an large organisation's systems. You will diagnose and solve complex performance issues. You will implement security and auditing features.  The list goes on.

If you haven't worked it out yet I am a DBA and I think it is a very rewarding career, for the right person.

Good luck in your choice. Don't lose sleep over it though. I started as a developer!

Paul Received on Wed Feb 09 2005 - 19:52:16 CST

Original text of this message