How good is a career as a Database Administrator?

Interested in Database Administration--Any Advice?

  • 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 http://ask.metafilter.com/127753/Advice-on-Someone-Interested-in-a-Programming-Career 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!

  • Answer:

    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 http://stackoverflow.com or http://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 http://www.codinghorror.com/blog/2004/10/who-needs-stored-procedures-anyways.html religious debate; it's gonna come up, so you might as well be prepared to deal with it. 6 - Learn about thehttp://en.wikipedia.org/wiki/NoSQL 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.

thisperon at Ask.Metafilter.Com Visit the source

Was this solution helpful to you?

Other answers

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.

Maisie

1. A http://www.prospects.ac.uk/p/types_of_job/database_administrator_job_description.jsp 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.

le morte de bea arthur

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.

bfranklin

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.

TheophileEscargot

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.

miyabo

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.

advicepig

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.

richyoung

Go for it. Great DBA's get paid a ton of money and have very rewarding careers. Read about http://en.wikipedia.org/wiki/Relational_database and http://en.wikipedia.org/wiki/Database_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 http://www.economist.com/opinion/displaystory.cfm?story_id=15579717 of the Economist. These guys work closely with DBA's.

jasondigitized

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.

jasondigitized

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.