How to train your assistant: Certification makes the minion
The senior management at my current employer has decided the databases I have created over the past five years are now critical enough to the business that it would be really inconvenient if I were to be hit by a bus. I have no backup, and no one else there has any idea how to administer an Oracle database. Likewise, no one there would be able to reliably distinguish between a PL/SQL package and a haiku. So last week a slot was created, and I will be getting an assistant developer sometime in the near future.
Resumes have not yet started to come in for the position, but I have already begun to plan what I must do in order for my subordinate to start being useful in the minimum amount of time. The decision was made for this to be an entry-level position. The building where I work is just outside a university campus, and we are targeting recent graduates to fill the slot. To get an idea of what the potential candidates might know coming in, I took a look at the database courses offered. Some of the more interesting include:
Database Concepts: Entity-relation model, relational database management systems, normal forms, performance of databases, report generation.
Advanced Database Development: Professional-level database access from object-oriented systems including complex SQL queries and stored procedures. Use of object-relational frameworks.
Applied Database I: Design and implementation of database systems within the concept of central administration, structured data storage.
The information covered by these is certainly a reasonable start. Any candidates who are recent college graduates will hopefully come in knowing a bit about relational databases and some basic SQL. They are unlikely to know PL/SQL. I seriously doubt they will have any experience developing Web interfaces using the Application Express development environment. It is almost certain they will know nothing about administering an Oracle database.
Without at least some of these skills, there is not much that my new assistant will be able to do in reducing my current workload. They certainly won’t be effective as a backup in the hit-by-a-bus scenario. The time I spend supporting existing applications has begun delaying development of new tools that management wants in place yesterday (if not sooner). It is not feasible for me to allocate a significant chunk of time teaching my soon-to-be subordinate these skills.
To solve this problem, I will make earning Oracle certifications a core part of the job. This means I will not have to design (and deliver) ad-hoc training to Mr. (or Ms.) New Guy. I can assign specific exams and the resources to use in preparing for them. The company I work for has an education assistance plan that will reimburse employees for the cost of each exam passed. In addition, the company has a subscription to the online library Books 24×7. Through that, employees can access just about any certification book imaginable at no cost. I would be hesitant about imposing a financial burden on a recent graduate, but these two perks allow me to assign books and certifications without doing so.
Initially, I want my understudy to focus on Oracle Database 11g: SQL Fundamentals I (1Z0-051). SQL is such a core requirement for working with Oracle that I need someone who is skilled with it as soon as possible. To prepare for the exam, I will have my protege read OCA Oracle Database 11g SQL Fundamentals I Exam Guide: Exam 1Z0-051 by John Watson and Roopesh Ramklass. If he does not feel comfortable after reading that guide, then I will suggest following it with the 1Z0-051 portion of OCA: Oracle Database 11g Administrator Certified Associate Study Guide: (Exams1Z0-051 and 1Z0-052) by Biju Thomas.
The second exam will be Oracle Database 11g: Program with PL/SQL (1Z0-144). Unless I get lucky, my new assistant will have little (or no) knowledge of PL/SQL. To be of much use to me, she must learn to write code. The topics in this exam require candidates to have a good grounding in the basics of PL/SQL development. An excellent resource is Oracle PL/SQL Programming: Covers Versions Through Oracle Database 11g Release 2 by Steven Feuerstein and Bill Pribyl. I will suggest she use Oracle Database 11g PL/SQL Programming Workbook by Michael McLaughlin and John Harper as a follow-up.
The third exam I will push for is Oracle Database 11g: Administration I (1Z0-052). This will require my young apprentice to gain a basic grounding in the knowledge required to be a database administrator. For this exam, I will assign OCA Oracle Database 11g Administration I Exam Guide (Exam 1Z0-052) by John Watson as a primary resource. He can read the second half of the Biju Thomas book referenced earlier as an additional resource.
Finally, I want my new right hand to prepare for Oracle Application Express (APEX) 4: Developing Web Applications (1Z0-450). Supporting my existing Apex applications will be a significant portion of her responsibilities. This is one of Oracle University’s “Expert” series and requires considerable familiarity with the interface. I will want her to read Beginning Oracle Application Express 4.2 by Doug Gault, Karen Cannell, Patrick Cimolini and Martin Giffy D’Souza, and then follow that with Expert Oracle Application Express by Dietmar Aust, Martin Giffy D’Souza, Doug Gault and Dimitri Gielis.
Anyone who is familiar with my work may be aware that I have written study guides for each of these exams, and wonder why they were not mentioned as assigned reading. My books are designed to focus in on the points covered by the exam. Passing the exam is a desirable result, and I will certainly make the relevant guide available before they take it.
The real goal, however, is to acquire the knowledge represented by the certification. The books above — particularly the ones on PL/SQL and Apex — cover topics at a much broader level than what is required to pass the test. Passing the four exams will earn my minion three certifications from Oracle. Learning the basics of how to administer an Oracle database and how to code in SQL, PL/SQL, and Application Express will provide him an excellent start on a career as an Oracle database developer.