This week's book giveaways are in the Java EE and JavaScript forums.
We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line!
See this thread and this one for details.
The moose likes Jobs Discussion and the fly likes What is the better Career Path?  DBA vs Software Engineer? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "What is the better Career Path?  DBA vs Software Engineer?" Watch "What is the better Career Path?  DBA vs Software Engineer?" New topic
Author

What is the better Career Path? DBA vs Software Engineer?

stephen gates
Ranch Hand

Joined: Apr 30, 2007
Posts: 69
What is a better career path in your opinion.

A Software Engineer or a DBA?

This topic came up because a co-worker of mine recently has a couple of offers on the table at other firms. And of course he's a DBA and I'm a Software Engineer.


He's been at ABC Company for around 2 years, before that he had around 1 year of experience someplace else, and before that he was in college. Not sure how he became a DBA straight out of college, but he seems talented enough. Not a genius, but decent.

Well the company we are at now seems to be dumping people and who knows where that will lead in the future. So while I'm on a contract, he's a FT employee, so he decided to start looking for what's out there. Well he had a couple of interviews(face to face) and he had one offer that was definite. Good for him. He missed a couple of days work and then came in saying he had another interview at the last moment and has another offer. He was happy but not sure what to do.

One is for a DBA position for a big corporation. Should be a great opportunity for him since he is already a DBA for ABC corporation.
The other role is as a Program Manager for a smaller newer company.

Well, i got to thinking, maybe a DBA is a better career path than a programmer. I mean this kid who has at most 4 years of real world experience has an opportunity to make more money as a DBA somewhere else or maybe even move farther up the chain as a Program Manager. It's good for him, but i started feeling down because as a contractor, i always need to look for new work and I've rarely been offered new jobs that quick.

I don't know , maybe I just don't interview well. I've had tons of interviews in the past, and never heard anything back. And that was before any tech interview.

But what do you think? Is being a DBA a better career path with a future compared to being a Software Engineer/programmer?
[ May 11, 2007: Message edited by: stephen gates ]
ravi janap
Ranch Hand

Joined: Nov 04, 2000
Posts: 389
I have seen during the course of my various jobs as a contractor and then as full time employee that it is the DBA position that commands more respect in an organization. They have the data at their finger tips. While software engineers are doing heads down coding and leading a solitary existence in their cubicle, it is the DBA who is always surrounded by people. There are many software engineers on a project but usually there is one DBA for multiple projects. The DBA always shows off that they are highly unaccessible and that their time is very precious so people are always lining up outside their cubes.
[ May 11, 2007: Message edited by: Ravindra Janapreddy ]

SCJP, SCJD, SCWCD, SCBCD, SCEA
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18757
    
  40

There are many software engineers on a project but usually there is one DBA for multiple projects. The DBA always shows off that they are highly unaccessible and that their time is very precious so people are always lining up outside their cubes.


To be fair, the reason that the DBA is not very accessable (to the developer) is because they are at the mercy of production. They have SLA requirements that must be met, in throughput, response times, and downtimes.

They are generally on beeper (24/7, and on vacation) because if the database goes down, production goes down, etc. When they upgrade a database, it must be done at night or on weekends.

A DBA is not exactly a career without any downsides...

Henry


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
Jay Dilla
Ranch Hand

Joined: Aug 12, 2004
Posts: 201
well at my last client, the DBA there made 180K (USD) and was always the focal point of everything.
it seemed like if he quit one day everything would just fall apart or something, matter of fact they tried to find somebody that could help him (he was working 60-80 hour weeks) and they couldn't even find anybody so i bet they would really be in trouble if he just left.
he was supporting like 10+ applications

how does one become a DBA to begin with? I majored in MIS (which deals with alot of DB stuff) but all of the DBA positions required alot of experience when I came out of school.
Also why is DBA job so important, I thought all they did was write a bunch of SQL statements, most programming languages are more complex then SQL. couldn't any developer just become a DBA?
ravindra janapreddy
Ranch Hand

Joined: Jan 30, 2001
Posts: 84
That is true most of the DBA do nothing more than write a few SQL statements. Their job is so much in demand just because they have one thing on hand that no one else has and that is INFORMATION.


SCEA, SCBCD, SCWCD, SCJD, SCJP
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30361
    
150

Originally posted by ravindra janapareddy:
That is true most of the DBA do nothing more than write a few SQL statements.

I disagree with this statement. That is like stating a system administrator just resets passwords.

While writing SQL statements may be part of a DBA's job, there is a lot more to it than that:
- creating databases
- configuring tablespaces
- recommending indexes
- tuning
- managing backups
- managing security on the database
- creating users/grants/etc
- a bunch of things I'm not thinking of because I'm not a DBA


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18757
    
  40

I disagree with this statement. That is like stating a system administrator just resets passwords.


Agreed. The statement is also wrong in emphasis. A similar, and equally wrong statement, would be "a programmer just installs a computer once in a while". DBAs are more on the operations side, than the development side. You can't judge the difficulty of their job by the comparing programming languages, or the amount of programming that they do.

Henry
Jay Dilla
Ranch Hand

Joined: Aug 12, 2004
Posts: 201
Originally posted by Henry Wong:


Agreed. The statement is also wrong in emphasis. A similar, and equally wrong statement, would be "a programmer just installs a computer once in a while". DBAs are more on the operations side, than the development side. You can't judge the difficulty of their job by the comparing programming languages, or the amount of programming that they do.

Henry


so would we agree that operation jobs are easier then development jobs?
the thing i don't understand is that on the surface DBA jobs seem easier but they get more pay and there is such a big demand for it
i mean don't most programmers know how to create and normalize tables anyway?
most programmers know how to write SQL commands and stuff from dealing with JDBC
maybe database tuning is very difficult, i think our DBA did alot of tuning
and he always talked like Oracle 10g was so complex to understand or something
i'm thinking if a person knows Oracle9ie , what is the difference with 10g?
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18757
    
  40

Originally posted by Jay Dilla:

so would we agree that operation jobs are easier then development jobs?


How did you come to that conclusion? Absolutely not. I do not agree with you.

If a programmer makes a mistake, it will be found in testing (if he is lucky). If he is unlucky, it will be found by QA. If he is really unlucky, the operations people will have to mitigate any damages the problem causes.

If an adminstrator makes a mistake, it will cost the company a little time, money, or customer satisfaction (if he is lucky). If he is unlucky, it will cost a lot of time, money, and customers (and maybe his job).

Any upgrades must be done at night or on weekends. There also have to be a plan to reverse the operation, if it fails. Any down time, cause by the DB or that affects the DB affects the DBA -- the DBA has to be on beeper, and must report, to either troubleshoot the DB, or to failover the DB due to other problems (that may not even be related to the DB).

i don't understand is that on the surface DBA jobs seem easier but they get more pay and there is such a big demand for it


Finding people who can administer a DB is probably easy. Finding people who can admininster and maintain a DB with a 99+% uptime is hard. Think about it -- when production goes down, some companies loses millions per hour (or even per minute). If you can find someone who can keep your DB up, even a few percentage points more, over an average person, is an extra 100k worth it?

And one other point. Don't confuse a DB/SQL programmer with a DB Administrator. These are two different roles.

Henry
[ May 13, 2007: Message edited by: Henry Wong ]
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30361
    
150

Originally posted by Jay Dilla:
so would we agree that operation jobs are easier then development jobs?

No. First of all, the word "easier" is subjective. I find development easier than shoveling snow. I'm sure many people (that aren't developers) would feel otherwise. "Easier" has to do with what you are good at and your personal skillset. It's only possible to compare things that are linear. So we can say that 1st grade is easier than 5th grade, but not comparing operations and development.

That said, I think operations jobs are harder because there is more responsibility. In addition to what Henry said, it is possible for an administrator to make a mistake that can't be recovered from. When was the last time you could make a mistake delete the entire database?


the thing i don't understand is that on the surface DBA jobs seem easier

The key words are "on the surface." Anything seems easy if you look at it on a high enough level. A manager could say what we (I assume you are a Java developer here) do is easy because it is just coding what they tell us too. I had a coworker once who would trivialize my tasks by saying they were easy because you just had to get a connection and run a query. Knowing all the steps that it entails, you realize it is more complicated than taht.

Now, I don't know what DBAs do to a great level of detail, but I know enough to respect it and realize how important it is.


i'm thinking if a person knows Oracle9ie , what is the difference with 10g?

What's the difference between Java 1.4 and Java 5? Couldn't someone say that if you know Java 1.4, you know everything there is to Java and it doesn't matter that a new version came out. Same idea with Oracle. Oracle 10g introduced grid computing, many administration changes, new features and advances in existing features. My Oracle 10g book has over 100 pages on the changes.
stephen gates
Ranch Hand

Joined: Apr 30, 2007
Posts: 69
Wow the debate went into a totally different direction than originally intended, but hey, it's an interesting debate. I am not one who will say my job is tougher than your job. Most of the time it's impossible to determine.

I do get why DBA's are usually paid more. They have all the information at their fingertips. I've worked on many projects where i wasn't allowed access to certain data and I still needed a security clearance... The DBA's not only had access to that data, but controlled that same data. Data is what drives a business. When you have all that secret, propreitary, and customer's data at your fingertips, that's power.

As far as knowledge, I just don't agree with certain things said. I've worked on plenty of projects where many of the DBA's came into being a DBA the same way I came into programming. Right out of college. Over the years they got better at it, but they still started out knowing the same things I did.

Like the original topic stated, the DBA co-worker is about 3-4 years out of college.

But from the arguments stated above it seems obvious a better career path is the DBA.. They have an abundance of knowledge and power and importance.

While they might work longer hours and have more responsibility when it comes to holding and giving data, the original question is what is a better career path.

So if you are a person who controls the data, maintains it, and is good at doing this, it probably means they will be deemed lot more important to the $$$$ people when time comes to think who is needed or not.

I've worked on plenty of projects where software engineers were considered nothing more than programmers. And programmers, good or bad, are not looked at in high regard by non IT people. Many companies today would rather purchase off the shelf software rather than keep hired programmers. Whether you think that's good or bad, it is the way it is.

While DBA's can be outsourced and replaced just like programmers and engineers, the fact seems to be, when you control the data and heartbeat of a company, people who run those companies will probably find you more valuable. To non-IT people; oracle, java, c#, sql server, db2, and so on really don't mean anything. But a companies data means everything and in reality, most software engineers aren't responsible for that data.

So in my conclusion, It seems DBA's are more needed than most Software Engineers and as some posters have said, "if this DBA left, they'd be up the creek and in trouble."

People rarely say that about programmers or software engineers, even when they are top notch one's.

And if your looking at a career path, regardless of the conditions, if people think you are needed, you'll probably have a job. If people deem your job as not needed, you won't.
[ May 14, 2007: Message edited by: stephen gates ]
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41599
    
  55
But from the arguments stated above it seems obvious a better career path is the DBA.

No, I wouldn't say that. The pay and job security may be better for the reasons you mention, but the opportunities tend to be better for folks on the development side. Dev teams tend to grow more than DBA teams, and so there are more opportunities to get into leadership positions. Higher up, I think it's quite rare for DBAs to switch to IT mgmt positions.


Ping & DNS - my free Android networking tools app
stephen gates
Ranch Hand

Joined: Apr 30, 2007
Posts: 69
While I agree that it seems DBA's usually remain DBA's over the years, just with more responsibility, the truth is, most programmers and Software Engineers don't move into managment either. There are those that do, but it seems software engineers are not usually the political types. And to move into management you need to be of the political type. It's just the way it is.

As a consultant and contractor I've interviewed numerous times over the years and plenty of times non_IT people interviewing me were surprised I was a tech guy. It seems, as many say, "English isn't always the first language of the Tech Person" even if that's the only language they speak.

It's just a fact of life.
Many people in technology were never the "people" person. There are those that are, but it's not a common thing in IT. I think what you say is true if it a simple reality, but from what I've seen, many DBA's deal with a variety of people on a consistent basis while Software Engineers usually try to avoid dealing with people. And in the long run, most Software Engineers won't move into management because for one, they might not want to or like that role, and for another, they just don't have the people skills.

And in the end, DBA's in a DBA role will be more needed while a Software Engineer will be more likely to be replaced for cheaper resources. That's my perspective.
Jay Shin
Ranch Hand

Joined: May 14, 2004
Posts: 169
Also it depends a lot on what kind of DBA you are.

I've seen many DBA's who're 50 years old making 50K - 60K per year and their jobs are merely assisting in data back-ups, recovery and password management, etc.

Also, there are other types of DBA's who're skilled in "architecting" very large OLAP data warehouse (over terabytes of data) and making over 200K per year.

It takes completely different skills set to efficiently design and maintain terabytes of data.

Also, the acronym "DBA" has two different meanings:
1. DataBase Administrator
2. DataBase Analyst

In my previous company, there were some folks who're developing Oracle PL/SQL stored procedures (it's really Programmer Analyst's job), but they were called DBA.
stephen gates
Ranch Hand

Joined: Apr 30, 2007
Posts: 69
Most places I've worked assume DBA's are DataBase Administrators...

But your point is valid, however, I was asking to compare Database Admins vs Software Engineer career path.
Mike Isano
Ranch Hand

Joined: Jan 19, 2007
Posts: 144
DBA is without a doubt the better career path. It's easier to do, pays more money, does not have the "push for deadline" that programming has, and is more respected.
stephen gates
Ranch Hand

Joined: Apr 30, 2007
Posts: 69
I don't think being a DBA is easier.
I've known a few DBA's and every one of them had to wear a beeper. Deadlines are deadlines for anybody. If a production system is down, I don't think a DBA has that "no deadline" in his mind.
As a software Engineer and developer over the past 10+ years, I've never had to wear a beeper. I've had to come in to fix some things after hours at certain points, but most of the time my job was within certain time frames. Yeah i've worked on projects where I was working 100+ hours per week, but it wasn't because the system crashed. Developing new software means it's not in production yet so if it does crash, it might be stressful but it's a lot different than if your live system crashed.

I think it does come down to respect.
If you have two equally avg talented people; one a DBA and the other a Software Engineer, both who will never be the Michael Jordan's of their specific talents and skills, and as the years progress I think a DBA has a better chance at moving around and sustaining a career as a DBA while an Engineer might have to jump around or be looked at in a negative light if they never attempted to move into management.
 
wood burning stoves
 
subject: What is the better Career Path? DBA vs Software Engineer?