Developer Exam Study Strategies
As a veteran of many certification exams, and a contributor to several books on developer certifications—six and counting—I’ve learned by experience and observation of students in the classroom that numerous ingredients can help to ensure good results on developer exams. But because of the large number of developer certifications from which you can choose, I can’t really provide a tailored study strategy for any particular developer certification exam. Instead, I offer a set of general guidelines and approaches that should help you prepare for just about any developer exam.
I will also identify key topics on which any competent software development professional should be educated, whether or not they’re directly addressed in the exam or exams you take. In fact, most certification programs cover these topics at some level of detail or another.
My general guidelines and advice are as follows:
- Inventory what the exam covers: By working from exam objectives, descriptions, study guides, exam crams and any other useful information you can find about the exam, you must build as comprehensive a list of what’s on that exam as you possibly can. This must include the languages, development environments, test tools or suites, compilers, packagers and other deployment mechanisms you will use. It must also encompass the kinds of problems you’re likely to be asked to solve, the kinds of code you’ll have to write, analyze, interpret, test or troubleshoot, and the kinds of systems or applications you must know to make your code work. Consider this a blueprinting process that tells you what you must study and do to prepare for the exam.
- Understand language or tool programming techniques: Developer certifications are about writing code in some particular language, using some particular development environment, toolset or what-have-you. It’s essential to break down the exam objectives and to understand exactly what kinds of tools and languages you’ll be expected to understand and be able to use.
- Practice, practice, practice: Developer exams inevitably involve designing, writing, testing, debugging, deploying and maintaining everything from code fragments to entire programs or systems. Your analysis of requirements and exam coverage should help you understand what kinds of tools and languages you must use and also what kinds of code fragments, code modules, programs and systems you’ll have to write, build, test, debug, deploy, maintain or troubleshoot. The more time you spend doing this kind of work, the better prepared you’ll be for the exam (and hopefully for the workplace efforts that will occupy your time and effort long after you’ve put the exam behind you).
- Perform as much reconnaissance as possible: Reports and other sources of information about what’s on the exam can help you identify new topics for coverage as they routinely appear in certification exams. I do not advocate use of brain dumps— I prefer reports on exam coverage that stop shy of attempting to reproduce exam questions verbatim. It’s important to know what topics, question types, skills and knowledge are tested on an exam, but it defeats the purpose of developing strong general skills and abilities if you try to memorize a bunch of specifics. You can find this kind of information on reputable Web sites, in newsgroups or discussion forums or in publications that cover specific certification programs without resorting to a brain dump. But as you prepare for any exam, it’s always smart to make sure you supplement published or course materials with current information about what’s on the exam (and that you also muster the necessary technical details, code samples, practice and analysis needed to master that material prior to the test).
The key subjects about which every well-prepared developer certification candidate should be informed include (assume you can find lots of references on all of these topics with a little inspired searching through your favorite search engine or online bookstore):
- Master the vocabulary and practices of object-oriented programming (OOP): Unless you’re already well-versed in this subject matter, obtain and read a good general book on the topic of OOP. Because the majority of developer exams are on OOP-related tools, technologies or environments, you’ll want to use this book to teach yourself the vocabulary, concepts, tools and techniques associated with OOP. Consider this a necessary orientation to and familiarization with the overall subject. (Outstanding books here include the “Design Patterns” book by Eric Gamma, et al, and Larman’s “Applying UML and Patterns,” among lots of others.)
- Become familiar with the extensible markup language (XML): Although XML answers the needs of content designers and developers par excellence, it’s also a crucial subject matter for developers. This means not only understanding basic XML syntax and structure and various development-related XML applications (which include UML, WSDL and all kinds of applications from transformations to e-commerce to encryption), but also understanding how to use XML readers and parsers such as SAXon or JAXP, as well as the XML document object model and how to navigate inside it. XML even finds an important role in server setup and configuration for various servers, so it’s nearly impossible to avoid nowadays.
- Understand the development process: The field of programming encompasses numerous well-known methodologies for design, project management, coding, testing, deployment and change management. Make sure you understand the general background on these topics (know what they are, master basic concepts and vocabulary, understand the prevailing best practices and outlooks on these topics) and learn the specifics on these methodologies relevant to your particular exam or certification program. Here again, you may benefit from seeking out and reading general books on these topics by way of background, then researching details relevant to your specific targets as part of your overall preparation process. This may increase your learning burden, but it will prepare you more thoroughly for your exam or exams.
You’ll find plenty of places to turn for more information and education on the topic of information security in the resource guide. It’s always true that your best overall study strategy when preparing for any developer certification exam is to be well-informed on all relevant topics, tools and technologies. Don’t forget the tremendous value of practice, either—particularly when it comes to designing, writing, testing, debugging, deploying and maintaining code. Although I give you some pointers in this article, you must review and analyze the actual exam’s objectives thoroughly and completely to guide your preparation. If you can identify those areas where you need more knowledge, understanding, skills or experience, you can use it to drive your studies. Bone up on topics where you’re not completely comfortable, and it’s hard to go wrong. Good luck!
Ed Tittel is president of LANwrights Inc. and is contributing editor for Certification Magazine. Ed can be reached at firstname.lastname@example.org.
James Michael Stewart is a senior writer, project manager and instructor at LANwrights Inc. He can be reached at email@example.com.