After talking to a few people who obtained the SCJP, I started to ask myself, what exactly does being an SCJP prove about a person? Does it show an employer that you are in fact, a good test taker, but may not be proficient whatsoever when it comes to writing quality code in a productive amount of time?
I plan to get my SCJP soon for resume purposes, but I cannot help to wonder why these tests insist on consistently trying to trick you with things you may or may not ever see in the real world. I don't see the purpose of overly complex "What is the output of this code" kinds of questions, when in the real world, you have a compiler sitting in front of you.
It just seems to me that these tests aim to try to trick you more than they try to test your knowledge on the concepts of the Java language.
Am I totally out of line here? Just curious on some of your thoughts.
Originally posted by Greg D Robinson: ...It just seems to me that these tests aim to try to trick you more than they try to test your knowledge on the concepts of the Java language...
Wow... It's unfortunate that you have this perception. Where did this come from? I would ask for examples, but real questions cannot be posted because it would be a violation of the agreement with Sun. Yes, there are some ridiculous mock exams out there, but these are not representative of the real test. Personally, I did not find the real test to be "tricky" at all.
With respect to what the test "means," note that validity is an inherent issue for all tests. In a testing context, "validity" means the degree to which a test measures what it is intended to measure, and by their very nature, tests can rarely be 100% valid. There might also be issues stemming from interpretations or perceptions of what a test is trying to measure in the first place. Is the SCJP exam intended to measure how proficient someone might be in "writing quality code in a productive amount of time"? I don't think so. It could be one indicator, but it obviously can't say anything definitive in this respect.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org
Actually, I totally agree with Greg. I found SCJP's objective seems really confused. Does it try to ask the programmer to memorize everything even include the ridiculous small syntax.
Why we need to memorize a lot things that compiler or IDE can do for us? It's a waste of time. I have to spend time to memorize the API, and so on.
I hate this kind of exam although I have to take it to make my resume look good.
Yours Sam<br />SCJP5.0 97%<br />SCBCD5.0 72%
Greg D Robinson
Joined: Mar 06, 2007
I don't disagree with the exam process to the level you are describing it. Yes, an IDE will do most of the work for you, but I still agree that it is important to know what the IDE is doing, and WHY it is doing it.
Joined: Mar 16, 2007
I didnot express myself clearly. I didnot mean that take SCJP is a waste of time. I mean taking time to memorize all the syntax, API(Some API I may never use it in the real world.)
I agree that a good programmer should know what and also know why, and how to do things better.
Keep in mind that this is a "foundation" certification, so you're being tested on language fundamentals -- not how to use an IDE.
There are nearly 3,300 classes in the 1.5 standard API. Being familiar with just a few fundamental classes is part of knowing the language basics. (For example, I have a dictionary at my desk, but if I had to look up the spelling or meaning of a common word like "tree" every time I wanted to use it...)
Perhaps if you give us some examples of the "ridiculous small syntax" requirements, we might be able to offer some context or rationale. (It might also help to regard certification as something more than a "resume requirement." Otherwise, it's easy to become resentful at the level of detail required.)
Demonstrating to an indpendant 3rd party that you have a good understanding of:
the fundimentals of java.
what a developer can do wrong and get themselves into trouble.
new classes/frameworks that developers need to be exposed to(collections, scanner, string procesing, generics.....).
the most fundimental aspects of good java coding.
What does this say to an employer? Well I have known PHD's that cant code thier way out of a wet paper bag, and yet they all have great references that swear they are gods gift to coding. Having an independant unbiased 3rd party verifying that you have a good understanding the fundimentals should be more important than it is.