Finally, after countless hours of scouring the Internet, you
have come across a job posting for a junior Oracle DBA position, which includes
the words you have been waiting for all this time: 0-2 years experience (zero
being the operative word or number here). Armed with your fresh, just out of
school knowledge of Oracle (and combined with virtually no workplace or on the
job experience), what can you do to improve your odds of being hired?
Obviously, no one expects you to be the world’s next Oracle Certified Master,
but on the other hand, if your academic background includes several database
administration courses, no one expects you have a blank stare on your face when
asked to name five types of constraints on a table. If you find yourself going
off to la-la land, try to minimize the damage by not drooling and hope everyone
else stumbles on that question.
Believe it or not, some companies do go out of their way to
hire what can be considered less than junior DBAs. What do junior DBAs grow up
to be? No, the answer is not "bus drivers" (assuming no layoffs,
going out of business, etc.), but senior DBAs. In other words, companies need a
mix of experience levels in order to grow or groom workers into more senior
positions. An applicant with 10-plus years of experience applying for this
position is going to raise some concerns (i.e., desperate for a job, and will
bail when a better one comes along). Someone with 3-5 years experience and armed
with a decent amount of experience, especially if the company knows it can get
that person at a reduced salary (compared to what would otherwise be
commensurate), is likely to be whom you are up against.
What you lack in experience can be countered with a
demonstrable understanding of basic concepts and fundamentals. I would say it
is better to have a decent mastery of core items as opposed to knowing a little
bit about many things but at the price of not being able to go into detail
about of any of them.
What are some strategies available to you to increase your
odds of being hired? Answering this question is fairly easy because there are
published documents or material at your disposal. The source repository covers
two areas: what’s in the job description, and exam objectives listed in the
candidate guides for Oracle’s certification program.
Examining the Job Description
When an employer posts a job opening, what message do you
get? To me, it means, "We have a job opening, and this is what we would
require or prefer that you know ahead of time." What is listed can be as
telling as what is not listed. A line stating "knowledge of tables, views,
and objects" (whether actually listed or not) should be intuitively
obvious to the casual observer. A requirement of "knowledge or
understanding of partitioned tables" implies "we expect you to
already know basic table types." Let’s peel back the layers of what this
Which one object drives every major relational database? You
should know the basics of tables backward and forward. For example, if you don’t
know the basics of constraints, you can pretty much count yourself out of the
running. Giving an answer such as, "Oh, I had that course two years ago,
let’s see, the only one I remember is referential integrity" is a showstopper.
This answer is only marginally better than having a blank stare on your face. If
the interview seems to suddenly end after an answer like that, you only have
yourself to blame for coming into the interview expecting a gift (i.e., a job
offer). Knowing the basics is expected. Not knowing all the details and options
behind more advanced table types is not only understandable, but forgivable.
After all, there is a practical limit on the amount of material that can be
covered in a quarter, semester, or term.
Be able to define what a view is. For bonus points, be able
to differentiate between simple and complex, key preserved and non-key
preserved. Is a view updateable? It’s not a simple "yes or no"
answer, but rather, more along the lines of "it depends." Why or when
would you use a view? Being able to describe what functions, procedures and
packages are (and their differences) will put you ahead of the pack. Because
the underlying code behind these objects involves PL/SQL, no one is going to
expect you to have coded a procedure containing hundreds of lines. Experience
with SQL is expected for obvious reasons. Experience with PL/SQL, unless you
took a course in it, is not as critical. However, it would be fair to expect
that (if hired) you will be learning it in fairly short order.
What about other areas, which go to concepts and
fundamentals? Can you describe the difference between cold and hot backups,
consistent versus inconsistent backups, and user versus server managed
recovery? Again, due to lack of experience, there are not any expectations of
you having devised a trans-continental disaster and backup/recovery plan, so
when asked "How do you take a backup," don’t shoot yourself in the
foot by saying, "I take two steps away from the server, right? Or is it
just one step?"
Become familiar with a tuning methodology, Oracle’s or
otherwise. The following is a fairly typical interview question/scenario: A
user comes to you and says a query has been running four hours now, and it
normally takes 20 seconds. How would you solve this problem? In other
words, what is your plan of attack to help the user? Knowing the outline of a
methodology, even though you don’t know exactly what an execution plan tells
you, earns high marks.
For a junior-level position, chances are the job description
will contain basic requirements. If the list is long and detailed, your study
or preparation plan is already laid out for you. A sparse listing of
requirements leads to the other preparation strategy.
Using the OCP Exam Objectives
Some non-test oriented text books come out and say it up
front: using this book in your course of study will assist you in passing exams
in the Oracle Certified Professional program. The exams, by and large, hit on
the basics, so being able to provide intelligent answers about basics makes you
look that much better. On the other hand, if you are serious about pursuing a
career as an Oracle DBA, and we all know how hard it is to get the proverbial
foot in the door, being (at least) certified at the associate level is a huge
differentiator. Putting forth the time and effort to get certified is a clear
indicator of your interest and intent. Certification for more senior DBAs can
be looked at in different ways, but there are only positives things to be said
for certification at the most junior of levels.
The Bottom Line
Come into the interview prepared to answer questions
centered on the basics. Having a Master’s level computer science related degree
may put you ahead of someone else with only a Bachelor’s degree, everything
else being equal. However, if you cannot accurately describe what a primary key
is and does, having a doctorate in computer science won’t be of any help
either. If you are serious about becoming a DBA, what effort are you putting in
towards being prepared to ace a technical interview? Learning the intricacies
of Oracle database administration is not something you can cram for overnight.
You can liken it to learning how to play a musical instrument. Time, practice, discipline,
and dedication are key to being proficient at both.
Being an Oracle database administrator is a challenging and
richly rewarding job. The best jobs in the world are the ones where you are
paid to do the things you like. Personally, I can’t wait to get to work in the
morning. But, is "job" the correct word here? Actually, I would
characterize it as a profession, and what is common to many professions is an
ongoing personal effort to stay abreast of new features and technologies. There
is a line, perhaps blurred at times, between what you are willing to spend to
learn new things and what your company is willing to spend for sponsored
training. If you are of the mindset that you expect your employer to be 100%
responsible for your education, I can assure you that your name will be at or
near the top of the "who gets laid off" list when times are lean.
That type of attitude usually spills over into other areas of your work.
Being certified is an example where a line can be drawn. It
is relatively inexpensive to obtain the associate’s certification (OCA).
Because of the instructor-led training requirement instituted a few years ago,
obtaining an OCP certificate requires a serious amount of money. A fair
proposition to present is this: "If I get the OCA certification on my own,
will you (the company) pay for the ILT course so I can get the OCP
certification?" Then you go into the "here’s how being certified
helps make me a more valuable employee" rationale to help sell this
value-based proposition. But, since this article is about the aspiring junior
DBA, what is your reason for not being an Oracle Certified Associate at the
time you sit down for an interview?
Oracle database administration is an evolving field, and
what you learned two years ago may not apply today (see "Segments,
rollback"). When the time for an interview comes, will you be ready? Have
you done everything you can to put your best foot forward? You know which foot I’m
referring to: the foot you’re trying to get into the door. Which answer do you
think sounds better in an interview: "I studied that in one of my classes"
versus "I studied that in one of my classes and this is what I’ve done
since to learn more about it." There are plenty of resources to make you a
better candidate. Are you using them to your full advantage?