Wednesday, June 26, 2013

What defines an Oracle Expert?

From numerous postings on Oracle certification forums and on LinkedIn groups, it appears to me that there is a common misconception about the Oracle Expert certifications. It seems many people feel that if you study for and pass one of these exams that you become an expert on the topic -- even if you had little or no knowledge prior to your exam preparation. This is simply not true. The study process no more makes you an instant expert than reading a medical textbook and putting on scrubs and a mask would instantly make you a surgeon.

Just to be clear -- I really like Oracle's expert series. I hold the expert certifications for Application Express, SQL, and SQL Tuning. I enjoy the fact that the topics are covered in greater depth than is typical for OCA and OCP level exams. In addition, they are some of the hardest Oracle exams I have ever taken, which pushes me to work harder when preparing. That said, I have been writing and tuning SQL for over seventeen years and programming in Apex since it was HTMLDB. I was an expert in these topics before taking the tests. I did not pursue the certifications in order to become an expert but rather to refine and expand what I already knew from having worked with them for years.

It is possible to pass the Application Express expert certification while having no aptitude whatsoever at creating a web application using that environment. The exam cannot test someone's ability to program and does not attempt to. Instead it tests the candidate's knowledge of the development environment. That said, studying for the exam was valuable for me as an experienced developer because it forced me to learn portions of the interface that I had previously not made use of.

The same holds true for the SQL and SQL Tuning exams. People with little or no experience of Oracle SQL will not instantly become skilled at writing or tuning it simply by studying the exam topics. The expert exams are designed to help experienced Oracle professionals to backfill any knowledge gaps and enhance their skills. They are not designed as a shortcut for freshers to prove that they are knowledgeable.

One of the biggest pitfalls with inexperienced professionals gaining expert certifications is that it can set them up to fail. Going back to the earlier 'surgeon' analogy. You memorized the textbook, you look great in scrubs, and you somehow convinced a hospital to hire you as a surgeon. This is great -- who needs medical school or years in a residency program? However, sooner or later someone is going to expect you to be able to perform surgery...

In the real world, it would never get that far, of course. Someone pretending to be a surgeon would almost certainly get caught early in the hiring process. Likewise, someone portraying themselves with Oracle expertise that they do not really have is almost certain to be tripped up during the interview. Misrepresenting yourself is likely to result in your resume being tossed in the trash. Your best bet is to pursue certifications that are appropriate to your level of Oracle proficiency.

Wednesday, June 19, 2013

The Value (or Lack Thereof) of Oracle Certifications

I received a comment earlier today on my earlier article Should I Get Certified as an Oracle 11G DBA or as a 12c DBA?. The subject is one that I felt rated a separate post in order to provide a sufficiently detailed response.

Matt-
I dislike certifications intensely, even though I hold several, and hope that someday they will lose their popularity. I got my certifications by studying and reading, but don't necessarily have experience in all of the areas in which I hold certs. However if I put all my certs on my resume, I get invitations to interview for senior positions based on these certifications! 

Such stupidity is sickening. It's definately unfair to the qualified people who don't hold the certification. Now I just list the certifications in which I have the most job knowledge. 

Certifications have little to no value in my view, and do NOT equate to job knowledge. Only relevant work experience can provide that. I always point this out when I speak to anyone who hires. 

-Susan Hanover

I find it difficult to understand why anyone would consider it stupid to be offered an interview because their resume contains certifications relevant to the position. I agree that it would be extremely unwise if the employer did not perform due diligence during the interview to ensure the candidate is qualified for the position. However, resumes and LinkedIn profiles are simply a way for employers to attempt to locate a pool of individuals that might fit their needs. Certifications are just one of many ways to locate potential candidates.

Likewise, I do not see how employers using certifications as part of their interview filter is unfair to individuals without certifications. By that logic, an employer who requires candidates to have a four-year degree is being unfair to any individuals that could do the job but never completed college. Nothing prevents experienced (but uncertified) Oracle professionals from pursuing certifications. If they choose not to, that is their decision. However they cannot decide not to certify and simultaneously complain that they are missing out on opportunities afforded to certified professionals.

I will agree that being able to pass a certification exam does not guarantee that an individual will be able to perform the job properly. I do not agree with the statement "Certifications ... do NOT equate to job knowledge". The following topics are a handful from those in the 11g Admin II exam (1Z0-053):


  • Configure multiple archive log file destinations to increase availability
  • Create and configure a recovery catalog 
  • Using RMAN to Create Backups
  • Recover from a lost redo log group  
  • Implement Automatic Memory Management


Each of these topics is very important for DBAs to know. It is knowledge that is required in order to be able to do the job of a DBA properly. The vast majority of topics on the 1Z0-053 exam are likewise either useful or critical for administrators to know. Studying for Oracle certifications does provide knowledge useful for the job. It is more correct to say that for someone brand new to the Oracle database, learning all of the topics in the OCP exams is not sufficient to become the sole DBA maintaining a mission-critical database. Job experience beats certification knowledge alone. However, job experience plus knowledge gained studying for certifications beats job experience alone.

I hold many Oracle certifications, including several of the Oracle Expert series. I would never point to any of them and claim that I am an expert because of the certification. I am, however, expert at several areas of Oracle. Studying for certification exams helps me to increase my expertise further because I make sure that I learn as much as possible from every one. The knowledge in my skull is why I am able to earn an enviable salary. The way in which I prepare for certifications increases what I know about Oracle and so they provide value to me. If having a certification on my resume also gets me an interview that wouldn't have happened otherwise or allows me to negotiate a higher salary -- that is simply a bonus.

Friday, June 7, 2013

My article series on TechTarget

A bit over a month ago I contracted with TechTarget to write a series of articles for their SearchOracle division.  The articles that I have written for this blog and GoCertify.com and other sites have been directed towards advising certification candidates about certification and career goals.  What I will be developing for SearchOracle articles is a series of technical articles written to cover Oracle certification exam topics. I am not writing the articles in any particular order and the exams covered will rotate. I will link to each of the articles from the relevant Exam Details page at www.oraclecertificationprep.com as they are published.

At this time, the first four articles have been published.  I will be providing the next four articles to my editor shortly. If the series is popular, in a few months there will be a significant number of articles available to boost the amount of free materials available to prepare for Oracle certification exams. You can access all of the articles (as well as any I write in the future) from my TechTarget Bio.

The four articles currently available are:



Wednesday, May 29, 2013

The path to becoming an Oracle DBA

For those of you keeping count, this is the third article that I have written on this basic topic. As with the second (written less than a week ago) this one was born of a question sent to me by a reader. He just completed a Computer Science degree and obtained his OCA in the Database Administration track. Ultimately he wants to be an Oracle database administrator. However, right now he has a job offer from a company using Oracle's Enterprise Resource Planning application. He asked whether I thought that taking this position would help him to be closer to his goal in five years. Would it help him to gain experience with Oracle that could help him to get hired as a DBA? Alternately would it have a negative effect, moving his career further from the administration track?

Barring some sudden influx of wealth (winning lottery ticket anyone?) careers tend to last a really long time -- forty to fifty years. Every job you have during your lifetime will move you along that path. However, you have to provide the steering. If you do nothing except the work required by the position you are currently in, there is nothing to provide direction that could shift your career to a new path. If you are not in a job you want to have in five years, then this is a problem.

Working with Oracle ERP would not have been my first suggestion for a job to gain experience that would lead to a DBA position. The commonality between the two is not hugely significant. That said, you would be working in an environment using the Oracle database. Depending on the company, you might well have contact with the DBA that supports the database. Also, there are job postings that specifically request DBAs that have experience with Oracle systems running specific applications. In a few years you might become the DBA for a company running Oracle ERP. If you decide to work for the company, see if they will pay for the Oracle hands-on training required to earn your OCP certification and/or for the certification exams. There are many ways that you can use a job to advance your career in the direction that you would like. It is your responsibility to find those opportunities and make use of them.

Above I indicated that a job working with ERP would not have been my first suggestion. I should expand on that. Otherwise it is almost certain that someone will ask, and I will be writing about it anyway. I would generally suggest that becoming an Oracle developer, either in PL/SQL or in Java, would be the best 'first-Oracle-job' for someone looking to become a DBA. Applications such as ERP that run on top of Oracle interpose an interface between the user and the database. Users may never log directly in to the database to view the low-level objects that are maintained by DBAs. However, developers that work with PL/SQL or Java will be working directly with tables, views, and other low-level objects. They will almost certainly be exposed to a great deal of SQL as well. The normal routine of people in these jobs will gain them more experience that is directly relevant to the work of a DBA. In addition, there are many companies that specifically hire DBA-Developers when they need both skills. Because developers have a much lower level of privileges in a database than administrators (unless the database is being run by a very bad DBA), it is easier to get a developer position without having significant real-world experience. The bottom line is that a bad DBA can destroy the database while a bad developer can only damage it (and a good DBA would be to repair that damage). While working as a developer, you still need to look for opportunities to direct your career towards administration, but they will be a more natural extension of your job.

If you have just graduated and are entering the workforce, essentially any employment can provide at least some assistance towards becoming a DBA. Even if a job has no relation to the Oracle database, it can help you pay your living expenses while you learn more about the Oracle database, gain more certifications, and watch local job listings for a position that will move you a step closer to your ultimate goal. There is no one that can (or should) do more to guide your career than you.

Saturday, May 25, 2013

Oracle Certified but not Oracle Employed


I see variations on a common story fairly frequently on forums and Linked In groups. An individual decides they want to become an Oracle DBA. They are told (often by an instructor for a training course) that Oracle Certified Professionals find positions easily and rapidly. They take the course, they pass the exams, and they get their certification. However, the story derails at this point. No employer rides out of the mists on a white horse to offer a great job with an incredible salary (after a brief glance at the shiny new certificate).

I wrote an article several months back with some tips on getting your first job as a DBA. If you have not read it, you might take a look: I Just Got an Oracle Certification - How Can I Get Hired As a DBA? An individual who is living the story above read that article and wrote to ask me if I could provide any further assistance. Frankly, I’m not sure that I can. I looked at the article this evening and I think my tips were reasonably comprehensive. I decided to take a somewhat different approach in this post.

I worked in tech support for various companies (including Oracle) for many years. One of the things I learned from that is that once you completely understand the problem, you are eighty percent of the way towards finding a solution. Anyone who believes having an Oracle certification without having Oracle experience will always lead to rapid employment does not yet understand the problem.

Anyone that goes to fast food restaurants much has encountered 'The New Employee'. This is the employee on their first day of work being trained on the register. Your order will take three times as long as it should and either the newbie or the trainer will apologize and note it is the cashier's first day. You never get an apology about someone's second or third day.  This is because it takes less than one day to learn the job of a cashier at a fast food restaurant. This is also why these employees are paid so little, which is why fast food restaurants have such high employee turnover rates, which is why we encounter so many employees running a cash register on their first day. A job that can be learned in a day will never provide much job security or income.

This post is not targeted at prospective fast food engineers, but prospective Oracle Database Administrators. The paragraph above is to point out that what makes Oracle DBAs valuable is the amount of time required for them to learn their job. It is simply not possible to learn to be an Oracle DBA in a single day. If it cannot be done in a day, then how long does it take?  Would it make sense to measure the time in weeks? No, I do not think anyone would accept weeks. If not weeks, then would measuring in months make sense? Frankly, I think any experienced Oracle DBA would not accept that either. The rule of thumb is that it takes three to five years of experience with Oracle to become a reasonably knowledgeable DBA. Senior DBAs would be expected to have more experience than that. Companies will often hire junior DBAs with less experience, but they would be expected to work under the supervision of a more experienced administrator.

The question then becomes how Oracle certification compares to Oracle experience. To do this, it makes sense to compare time spent studying to time spent working. When talking about ‘years of experience’, specifically the assumption is that the years are for a full-time job with a forty-hour work week. The amount of time a candidate needs to study in order to pass Oracle certification exams varies widely. I wrote an article here that deals with some of the variables. As a general rule I spend about a hundred hours studying for exams. This is not a hard number. Some exams take more time and others take less. I’m also a fast reader and very experienced with the exams. I would expect most individuals to require more study time. To be reasonably conservative, I will triple that figure. Three hundred hours of a full-time job would be seven and a half weeks. On this timetable, the three exams required for the OCP DBA track would take about five months assuming forty hours per week. However, time spent specifically reading documentation or other study materials is more valuable in many ways than an equivalent amount of time spent working as a DBA. On the job you tend to do the same things multiple times.  You are not constantly learning something new. If I were comparing two candidates for a junior DBA position – one with an OCP and one without, I’d probably grant the person with the certification as having the equivalent of an additional year of experience, possibly as much as eighteen months.

And now (finally) we have the problem defined. Most companies expect a DBA to have three to five years of experience before they are placed in charge of a database. I doubt most people have given as much thought to it as I have, but no one with knowledge of Oracle will treat someone with an OCP but no experience as equivalent to someone with three years of experience working as a DBA. That does not mean the certification has no utility.  The equivalent of twelve to eighteen months of Oracle experience is a great deal more than zero months, which is what you (presumably) have without the OCP. However, it is generally only enough by itself for a junior DBA position.

As I indicated in the article mentioned above, the one thing that you must not do is sit back with your certificate in hand and wait for the job offers to roll in. Implement the suggestions from that article on making yourself more visible to employers. Keep in mind that what makes Oracle professionals valuable is the knowledge contained in their head combined with their experience using the database. Being visible is good, but if you want to be recognized as valuable, you need more knowledge and more experience. You also need a way to demonstrate that you have it. One of the things that make Oracle certifications valuable is that they are one method of demonstrating knowledge. Find others.

Oracle XE is free. Download it. Build databases using it that are well designed and actually do something. Document what you have done. Build an ERD for your system. Create (and document) a backup strategy and a disaster recovery plan for your database. Create a website using Application Express and build an application that showcases what you have been doing in Oracle. You can build one for free at http://apex.oracle.com/ or you can get a professionally hosted one for as little as ten dollars a month. My OracleCertificationPrep website is hosted with MaxApex but there are many others out there. One thing that you can do with a hosted Apex instance that you cannot do with one at Oracle’s free site is point a custom domain name to it. Registering a domain name for a year costs about twenty dollars. This means that for less than the price of one certification exam, you can purchase a year of a website with a domain meaningful to you showcasing your skills with Oracle. You can then put that URL on your LinkedIn page and your resume.

The above suggestions are off the top of my head. There are countless things that you can do to increase your knowledge of Oracle and your experience with the database. Pick one and do it. Anything that adds to what you know right now can only be beneficial to your Oracle career.

Wednesday, May 22, 2013

Which Oracle Certification is the Best?


A few days ago I received a question from the contact page of my OracleCertificationPrep website. An Oracle professional had recently earned his Oracle PL/SQL Developer Certified Associate certification and wanted advice about the next step to take. In particular, he asked whether it made more sense to pursue the "1Z0-141: Oracle Forms: Build Internet Applications" exam to become an Oracle Forms Developer Certified Professional or to study for the "1Z0-146: Oracle 11g Advanced PL/SQL" exam in order to become an Oracle Advanced PL/SQL Developer Certified Professional. He did not mention the third option which is to take the exam “Oracle Fusion Middleware 11g: Build Applications with Oracle Forms” to become an Oracle Certified Professional, Oracle Fusion Middleware 11g Forms Developer. Oracle Education recently scheduled 1Z0-141 to be retired (and then issued a temporary retrieve). For this reason, choosing 1Z0-151 might be the better option for professionals with a goal of becoming a Forms developer.

Both of the Forms certifications are for individuals who will be doing primarily client-based PL/SQL supporting Forms applications. The Advanced PL/SQL certification is for individuals who will be doing primarily server-based PL/SQL development. I cannot get deep into all of the differences between the two without turning this post into a novel. However, I’ll note that Forms PL/SQL development will be within the confines of the development environment and tends to be small blocks to provide specific functionality to a given page. Server-side PL/SQL is often (although not always) considerably larger blocks. These are normally stored in packages and perform a wide range of functionality.

The actual question asked (and one I see a great deal on the OTN certification forums) was “Which certification is best?” (hence my post title). Unfortunately, that is a question without an answer. If one certification was the best option in every case, then all other certifications would be irrelevant. What he really meant by the question was "Which certification is most likely to get me hired?" Now that question there is an answer to. Unfortunately I do not know it. He is in India (although he did not indicate which part). I do not keep track of the job market in India, but common sense says that the job market is not the same in all parts of the country. One city might have a need for Forms developers while another might need server-side PL/SQL developers. 

The best way to find out is to do some research on job openings in the desired area – preferably over a period of several months. Unfortunately, it is sometimes hard to tell what type of PL/SQL developer a company is seeking. This is largely because the Human Resources people writing job descriptions don't understand the difference. If the job description for a PL/SQL developer mentions Forms or Oracle Fusion, you can be reasonably sure that the position is for a Forms developer. If it doesn't, then the position is probably for a server-side developer. That said, you can start as either a client-side or server-side PL/SQL developer and move to the other at a later date. The hardest task for professionals just starting out is getting their first position working with Oracle.

For candidates who already have jobs and who are developing in server-side or client-side PL/SQL (and have no desire to change), choosing between the exams is much easier. Many years ago, I did some Forms development, but the vast majority of my development experience (and my interest) is in server-side PL/SQL. When I pursued my OCP in the development track, my intent was to improve my programming skills in server-side PL/SQL. With that as a goal, the Advanced PL/SQL certification was obviously the better choice. I may take 1Z0-141 or 1Z0-151 at some point in the future simply to continue expanding my skills. However, the more relevant exam for gaining my OCP was obviously 1Z0-146.

If you have no personal or job-market related reasons for choosing one over the other, my own suggestion would be to go for the Advanced PL/SQL Developer. Some of that is certainly bias on my part, but it also seems to me that Oracle Forms is on a down slope in usage. I don't think that it will go away entirely for quite some time – certainly not in the next five years and probably not in the next ten. However, I suspect that its usage will steadily decline. By contrast, neither Oracle nor server-side PL/SQL is likely to decline in use any time in the foreseeable future. Whichever option you decide to pursue, good luck on the exam.

Friday, May 10, 2013

What is Certification?


A couple of weeks ago I read an article on LinkedIn entitled "What is College". It was an interesting read. While the article did not contain anything profound, the author provided a reasonable template of the goals that attending college is meant to provide. I thought about the same question as it applies to Oracle certifications. Many people do not really spend much time thinking about why they are pursuing certification. Over the years I have found that individuals pursuing certifications fall into two distinct classes. 
  •  The first class, usually new to Oracle, is focused only on the piece of paper. Getting the certificate and adding a line to their resume is the extent of their goal. They assume that getting a certification is an easy means to get hired. As a rule, they are looking for the easiest, fastest, and cheapest means of doing so. It is this class of individuals that is most commonly interested in using brain dumps. I have written articles before on my opinion of people who use brain dumps so I will not go down that path in this post.
  • The second class of candidates is focused in the material covered by the certification. Whatever the subject of the exam, their goal might be to learn about it from scratch, broaden their existing knowledge of it, or to demonstrate that they have already mastered it. Regardless, passing the exam is vindication that they understand the information. The certificate is an afterthought and will probably be put away in a filing cabinet and forgotten.

I wanted to discuss the two before getting into some ways to think about certification. The five points below really only apply to the second class of individuals. For the first class, the only way to think about an Oracle certification is: "A fancy piece of paper with your name on it." If you are part of the second class, you might consider the following points:

A planned learning agenda. The topic list was designed by a team of people very knowledgeable about the Oracle database. The subjects covered are intended to provide a broad cross-section of the information that might be needed by Oracle professionals. Not every topic will be applicable to every individual that pursues the certification. However, understanding that a capability exists can be valuable even if you are not currently using it.
A path for staying relevant. Information technology changes constantly and rapidly. In this field, if you are not learning, you are falling behind. It is certainly true that a motivated Oracle professional could increase their knowledge without having to pursue Oracle certifications. It is possible to learn continuously and keep up with the changes introduced by new releases by reading white papers, web articles, third party manuals and the documentation. That said, using Oracle certifications as a method for learning new technologies takes a similar amount of effort, but provides professional recognition of the time you spent.
An incentive to learn. As with the prior point, Oracle professionals can read articles or books, view instructional videos, or take classes to improve their skills. However, it is all too easy to do any of these things without actually retaining anything. Everyone has had the experience of reading something (especially something technical and boring) only to realize that they cannot recall the last three paragraphs (or pages... or chapters). When I am studying for a certification, the certainty that there will be a test at the end helps me to stay focused on absorbing the material rather than simply skimming over it.
A indicator of commitment. There is no reason to obtain Oracle certifications if you have no interest in pursuing a career as an Oracle professional. That is not the same thing as saying only people with certifications are interested in their Oracle career. However, earning certifications requires a commitment of time and money from the candidate. I have spent many nights and weekends reading through Oracle documentation and other sources while I could have been doing something much more enjoyable. When someone puts a significant amount of their personal time into professional certifications, it is a reasonable indicator that they want to be good at their job.
A means of networking. There is no club house, no silly hat, and no special handshake. However, earning a certification makes you part of a huge group of Oracle professionals in the world. Quite often they (we) are in senior positions at companies and are influential in making hiring decisions. I will not claim that I would recommend a candidate with a certification over a more qualified candidate without one. However, candidates that hold Oracle certifications will positively influence me -- unless their answers to my interview questions scream 'brain dump user' at me, of course.

Oracle certifications only reflect the value that the candidates earning them put in. When used as a means of continuously improving your knowledge of Oracle, they can be quite valuable indeed over the course of your career.