Join 3,430 readers in helping fund MetaFilter (Hide)


Interested in Database Administration--Any Advice?
March 31, 2010 2:08 AM   Subscribe

Wondering how feasible it is to become a database administrator when I'm in my mid-30s, even though my IT skills are pretty minimal.

As I grow older, I feel like I'm going to need a backup plan because my current job--though I enjoy it--is very physical. I've considered programming and dabbled in it a bit since I wrote that question (thanks everyone who responded!), but have found I am less interested in programming than actually working with databases, as I did at a very, very elementary level in the past.

Back when I had a desk job, I enjoyed organizing data (in Excel and other applications...think pivot tables). I loved breaking reams of messy information into discrete units. I enjoyed trying to reduce any double data-entry at my company using simple applications, and liked trying to create systems where data was entered, analyzed, and made available to everyone within the company who needed it. But I used whatever apps were available then at my company...and often slapped data together bits and pieces of MS-Office type applications. Today, I could probably put together a simple MS Access or Filemaker database. Sadly, this is the extent of my database abilities.

And now I'm wondering: should I pursue a career where I can build and manage databases? I'm not really looking for the big six-figure salary (though that would be nice), but just a career where I can make a decent amount of money and have fun making use of my obsessive tendencies with data instead of fighting it.

My questions:

1. Is database administration the name of the career I am seeking? I want to either set up data so it is consistent, create or use programs that people can use and access so it can give them all kinds of reports, possibly set up interfaces that allow them to enter data easily, and maybe change or modify the program as a company evolves.
2. Would I have to go back to school for this? (I have a liberal arts degree.) Caveat: I'm not located close to any good IT schools. I'd be limited to community college for education, or perhaps something online.
3. Do you have any tips for me in pursuing such a career?

If you have answers to the above questions, can share your experience as someone who does the above, or any advice in general for someone looking to work with databases, I'd love to hear it. Thanks!
posted by thisperon to Work & Money (10 answers total) 11 users marked this as a favorite
 
1. A database administrator sounds pretty much like what you're describing. Building the front-end applications that interact with databases is usually the realm of programmers though, so you probably wouldn't get to do much of that. You typically expect to see DBAs working in large enterprises in situations where the scale and complexity of database use demands specialist knowledge of a particular database platform.

2. Probably, although you may be able to do it via self-study and just paying to sit the exams (for instance if you wanted to be a Microsoft Certified Database Administrator (MCDBA)). In the absence of a strong employment history in the field, specific qualifications are the next best thing, especially since the most likely employers will be large and corporate.

3. If it's an area of work that you feel you'll genuinely enjoy, go for it. But don't expect to be able to apply for any jobs just yet.
posted by le morte de bea arthur at 2:48 AM on March 31, 2010


3) It's easier to become a DBA at a company where you are already employed. If your current company doesn't have DBAs, make the transition now to a company that has plenty of DBA openings. Then get your certs, make friends in that department, and transition in to the bottom rung of the DBA team.
posted by bfranklin at 4:54 AM on March 31, 2010


Database administrator is a pretty specialized and technical job. A lot of it consists of knowing the details of how to optimize a particular brand of database (e.g. Oracle or SQL Server). For instance, how to set up indexes correctly so that data can be retrieved quickly, how to set up locking so that two users can't try to modify the same piece of data, "normalizing" a database to make sure that the data can't be set up in inconsistent ways, setting up replication and load-balancing so that the same data is present in multiple computers to cope with heavy demand, backing up the data safely without slowing the system down while you do it.

It's not really something you can just pick up as you go along. It's also not enough to be an organized and methodical person, you have to know in some detail how the databases (and computers) actually work. I think most employers would expect a database administrator to have a degree in Computer Science or IT, or previous experience.

Something like helpdesk support, or more general system administration might be easier to get into. A lot of user problems are pretty similar, so relatively short training courses mean you can get useful quite quickly.
posted by TheophileEscargot at 5:05 AM on March 31, 2010


1 - yes
2 - yes
3 - see below

I absolutely think this goal is reasonable and attainable. You sound like the right personality type. My advice, in no particular order:

1 - Pick a platform to become expert in. I would suggest starting with Oracle or SQL Server, and dabbling in MySQL on the side. You can get all the tools you need to start learning on line with no cost.
2 - Buy the best of breed books for your chosen platform. Search on places like stackoverflow.com or serverfault.com and you will likely find tons of good suggestions.
3 - Investigate available community college or IT school programs specifically targetting DBA roles for your platform. Research them well, and then pick one and register.
4 - Think about specializing - one of the better ways to do this is to become expert at something like Data Warehousing. The pay is better, the work is interesting, and it has the aura of being really hard, while in reality it is a learnable skill like any other.
5 - Form an opinion on the stored-procedures-for-everything religious debate; it's gonna come up, so you might as well be prepared to deal with it.
6 - Learn about the No-SQL movement so you can speak intelligently on it. Rather than feeling this threatens your chosen specialty, learn about all the options (there are many!) and be able to recommend some for a few specific situations.
7 - Become expert at querying: this takes time, so start early. There are many types of queries that are very hard to do with SQL, so you need to learn the tricks to make it happen, which vary widely by platform. Also, learn as many of these tricks using generic ANSI SQL as possible, so that your approaches are portable.
8 - If you have problems finding a good school nearby, get the best one you can, and then augment it with self-study. An interesting way I have found to learn a new technology is to go onto a tech questions site (like one of the above), and start answering questions. When you don't know the answer, use Google and learn it, trying out the solution yourself. This way you will learn answers to all of the common problems (and there is no dearth of them, believe me), and learn tons of other stuff along the way. This is basically an accelerated version of what you will encounter in your eventual job - a problem you can't solve, that you turn to others for help. The difference is that rather than just learning from your own occasional problems, you are using crowd-sourcing to find out ALL the common problems, and getting ahead of the game.

I think Theophile's recommendations to learn helpdesk support or sys admin work are offbase. First of all, no one should make helpdesk support a goal - it is a thankless, depressing, low paying job. And I maintain that anyone who can excel in that role should be doing something else. A good Sys Admin must know as much as a good DBA - the tech is as much or more complicated than a DBA encounters, and the Sys Admin must know a much wider variety of technologies. They are really quite equivalent roles, except that a DBA typically is quite specialized, and it is rare that a Sys Admin is afforded that luxury.
posted by SNACKeR at 5:57 AM on March 31, 2010 [5 favorites]


Just know that it's a long process to becoming a DBA. Not quite as long as becoming a programmer, but there's still a tremendous amount to learn.

My first DB project was a recipe database in PostgreSQL (a free and very good DBMS). Obviously pretty trivial, but I learned a ton. Once you've done that you could think about switching to one of the big commercial databases, most of which you can get a license to experiment with for free or cheap.

Big university CS departments probably won't have the kind of intro to actually using a database that you're looking for (I know mine doesn't). It may be more of a community college kind of subject. At a university you can take classes in the theory of database systems, database optimization, spatial databases, etc. All of which would be good to know, but not a good place to start.

Each of the DBMS vendors offers certification courses. I don't know anyone who's taken these courses, but it's worth investigating.
posted by miyabo at 6:41 AM on March 31, 2010


I wouldn't say that your description matches the DBAs at this large state government agency. Our DBA spends most of his day patching and fine tuning the servers and software that run the databases. For smaller projects, the programmers create their own database schemas, deciding on the organization of the data in columns and tables. For bigger projects, we have a data analyst who specializes in big data mapping and the like.

If you don't care for the programming side, you might consider working on your query skills and learning something like Crystal Reports or its many competitors. There are quite a few jobs in business reporting and it's more about queries and data than programming.
posted by advicepig at 6:41 AM on March 31, 2010


Your desired career path sounds a lot like what I backed into by accident, in some ways. I had a liberal arts BA, learned a bit about databases, took a community college course in databases and one in programming, and self-taught from there. Then I found a small travel company with big needs advertising for a temp position, and talked myself into a permanent job. They were patient enough to allow me to learn on the job so that I gradually became capable of more and more complex things.

I get the impression that most people in this line of work do the school->certification->corporate employer thing, but I'm glad I didn't have to. Clearly, there are things that a full-on DBA knows that I don't know, but one need not be a DBA to have a job using databases and programming skills.

On the other hand, I think it takes a lot of luck to find that magical first job in the field, especially in this economy.The school->certification->corporate employer track is more expensive and may be more of a disruption to your lifestyle, but it would undoubtedly be faster and probably more lucrative in the long run.

If you try to go this route, it might be helpful to build up your experience by volunteering with non-profits until your resume is a little more compelling.
posted by richyoung at 7:30 AM on March 31, 2010


1. It sounds like your interests are more in line with data modeling than database administration. I'm a database administrator and the only time I do anything related to the actual data in the databases I'm responsible for is when the application people can't figure out how to do something themselves. Most of my work involves working on problems (e.g., "Hey, why is my inefficient SQL code that I wrote with no input from you whatsoever running so slowly? I'm only trying to join 17 tables with 1,000,000,000 rows each on non-indexed fields on a machine with one processor and 512 MB of memory. You have to fix this immediately even though it's 3 am.") and projects. The entry-level DBA work (e.g., maintenance, schema changes) is sent offshore at my company.

2. You probably don't need to go back to school for an IT-related degree, but it wouldn't hurt to get some certifications. If I were you, I'd focus on either MS SQL or Oracle because they're so widely used and then I'd familiarize myself with other RDBMSes, like Teradata (my company is pretty much constantly looking for people who know Teradata) or UDB.

3. I agree with bfranklin. I disagree that getting a helpdesk type job will be of much use in transitioning into a DBA role. I started out as an application programmer, during which I worked on the conversion of my application's database from Sybase to MS SQL. While working on that project, I took a special interest in the database portion of the project and became the informal database expert on my team. I also made friends with our DBA, which opened the door to my transitioning into the database administration group at my company.

Now for some unsolicited advice that my DBA friend gave me (that I ignored) when I was talking to him about moving into database administration. Don't do it! It's pretty thankless most of the time.
posted by Maisie at 8:04 AM on March 31, 2010 [1 favorite]


Go for it. Great DBA's get paid a ton of money and have very rewarding careers.

Read about relational databases and data normalization. If the data normalization stuff is interesting to you, then you will probably have the makings of a DBA. As mentioned above, also look into the No-SQL / Big Data stuff.

Another angle you could take is Business Intelligence / Data Warehousing. That involves looking at huge, disparate sets of data and making sense of it all. Read all about it in this special edition of the Economist. These guys work closely with DBA's.
posted by jasondigitized at 9:01 AM on March 31, 2010


On review, seconding was Maisle said. You may be more interested in Data Modeling, although depending on the size of the environment, you may do one or both.
posted by jasondigitized at 9:05 AM on March 31, 2010


« Older Is it considered very unusual ...   |  How do I make Chrome work with... Newer »
This thread is closed to new comments.