Java Magazine subscribers, are likely familiar with the Fix This column created and maintained by Simon Roberts and Mikalai Zaikin. This regular column presents a short list of exam-level questions along with detailed answers. Simon and Mikalai have a long history with the Java technology and Java certification exams.
I recently caught up with Simon via email and he was gracious enough to give his thoughts on Java skills and certification. Read the interview below to get valuable insight from a true Java insider.
Simon: I think the benefits are the same today as they were back in 1996. One, of course, is that employers need effective ways to filter job applicants. Twenty years ago we used to joke that the qualification test for getting an interview as a Java programmer was whether you could fog a mirror held up to your face. But even when there are more jobs than applicants, employers and their HR departments need to slim down piles of applications to a level they can practically interview, and just like a degree, a recognized certification can be a useful tool for HR to achieve that. On that point, while many applicants will bring CS [computer science] degrees, it's common to want someone who can hit the ground running using Java with a level of competence that isn't assured simply by that degree.
The second benefit might be less obvious; different people have different attitudes to what I might broadly call "third party evaluation" of their skills. Some might find it threatening or perhaps even take offense at the idea of being asked to jump through a hoop. Others (and I think it's probably obvious that I think this is a far healthier attitude) are intrigued at the opportunity to find out how they measure up to an objective, consistent, and widely recognized bar. They see it as a chance to find out how good they are, and to expose their own weaknesses with the deliberate intention of improving further. Often I can tell far more about a person's work ethic and how they will work in a team from how they feel about challenges of this kind than from more direct questions, and in particular from questions about the technical knowledge that are otherwise core to an interview.
". . . the deliberate intention to take a certification motivates us to put the study in, and that in turn avoids us simply muddling-through writing our solutions "the old way" even though that old way still works."
Simon: Each major release of Java brings significant new features. Sometimes to the language, sometimes to the APIs, and often to both. While library features are often learned when the particular library is used, it's best if programming team members are fully conversant with all the language features of the version their companies use. And again, the deliberate intention to take a certification motivates us to put the study in, and that in turn avoids us simply muddling-through writing our solutions "the old way" even though that old way still works.
Where frameworks are concerned, there's often a lot of concepts at the heart of those frameworks, and understanding them properly is typically key to getting good performance and creating a system that's as readable and maintainable as possible. So, again, programmers who plan to use these frameworks do well to look at the objectives of a relevant certification and spend the time studying that would be the normal precursor to actually taking the exam.
Simon: The changes in Java 8 open the possibilities of making clean, practical, use of some very exciting, and very effective, paradigms drawn from functional programming. Most organizations that I get to interact with are still struggling to get their entire staff base up to speed on these. From Java 9, it seems reasonable to expect that anyone involved in building libraries will need a good understanding of the module system, and there are of course more new features since then too, though the type inferencing possibilities for "var" might fairly be viewed as less dramatic than the lambda and modules ecosystems. But of course, all new hiring will result in one of two situations; the employer can either add more "seeds" with people who know the new features, or can create more demand for internal training with people who must also be trained up on these new features. As a result, it's reasonable to expect that an employer will be more impressed by, and more interested in, the candidate who already has the new skills.
Simon: New technologies; new frameworks, new language features, and new libraries, seem to be becoming increasingly complex (there are exceptions of course), and it's probably fair to expect this trend to continue. They bring more and more foundation concepts, and bigger and bigger capabilities spread across more classes and methods. Demonstrating a breadth of knowledge against a recognized certification must surely be a more convincing way of claiming competence rather than building a couple of simple tests at home and then simply writing "experience with Xyz framework" on your resume.
Simon Roberts joined Sun Microsystems in time to teach Sun's first Java classes in the UK. He created the Sun Certified Java Programmer and Sun Certified Java Developer exams. He wrote several Java Certification guides and is currently a freelance educator who publishes recorded and live video training through Pearson InformIT (available direct and through the O'Rielly Safari Books Online service). He remains involved with Oracle's Java Certification products.