I was just wondering if SCJP helps ? Does it enhance your programming skills? Or just kinda another exam with emphasis on syntax?
I don't have the SCJP certification, however I have studied for it (I just have to find a good time to take the exam!)
It does teach you about a few things in Java which you wouldn't necessarily know - it's all about details. For example, in what order to constructors run? What takes priority in method overloading - autoboxing or varargs?
I wouldn't say it massively enhanced my programming skills but it did fill me in on some of the details which I would otherwise be missing.
and, of course, I think that the primary purpose of getting a SCJP qualification is to look good on your C.V. :-)
My old boss who was a programmer himself, smiled and told me not to make a fuss. My new manager who is non-techie guy, wants me to help myself with career progress. To be honest, I have seen pretty crappy guys with SCJP certification during interviews and some really geeky folks who didn't complete their graduation in first attempt. IMO, it is all about setting up a perspective.
I'd say that if you work for a company that's willing to pay for the certification; sure, go for it! If you would pay for it yourself, consider more carefully if you really need it. :)
So, granted, the main point with these things is that looks good on the CV, right? And perhaps tells a possible employer that you have at least some basic level of knowledge.
But to answer your question, yes, it does enhance your Java skills. While studying, you will most certainly learn new, useful things about Java, even if you already have a decent amount of experience with it. Personally I took it when I had relatively little professional experience, and I know that it did me good. Although, of course, anyone can achieve the same knowledge without taking the SCJP. As to "syntax emphasis", I haven't taken other programming certifications myself, but from what I have heard, compared to some other ones, SCJP is pretty difficult and requires that you actually understand the foundations of Java quite well.
Sure, you'll also have to study stuff for the exam that you'll probably never really need in real work. For example, for the 1.4 SCJP test I had to study about Java's bit-twiddling operators (which was dropped in 1.5 exam) - something I haven't needed much. Also, having to memorize parts of standard library API (method names and signatures for String
or Math
classes for example) is of dubious usefulness, as with modern IDEs you don't need to remember such details exactly. On the other hand, at least for me it was very useful to familiarize myself more with the APIs, just to have a better general idea about what's in there.
If possible, I recommend taking a practice exam first (I mean the whole thing with 60 questions; like those by Whizlabs), to see where you stand, than then take it several times more while studying. Also, the book SCJP Study Guide by Katherine Sierra and Bert Bates is really helpful if you do decide to take the exam.
In my experience, yes, it has helped. I don't think it's guaranteed to improve one's skills, but it should increase your knowledge on the language and in the studying process you will probably get a better understanding of why some things are and work the way they do. It's likely that even if you do program a lot in java, there might some topics you'll hardly ever learn about unless you study for the exam. There are some questions related to the API (i18n, Collections, etc.) in the SCJP but its more about the language in general. The certifications that are probably more specific are those following SCJP, like SCWCD, SCBCD, etc.
If you are still a student you might be able to get a big discount or even a free voucher for the exam if your school is in the Sun Academic Initiative. Good luck!
It actually depends on the way you prepare for it.You can pass that by going through the prescribed book a couple of times and memorizing some concepts.This is one way to go.
Or else ,you can actually test some of the examples and then analyse each example,tweak it and modify it to see how the output is and do stuff like that to learn the basics of java.
If you follow the second method,there will be a big learning curve(assuming that you are new to java) you need to deal with.
I basically started learning java by preparing for SCJP exam.I got 97 percent in that exam and i really enjoyed and learn't a lot by preparing for that.
I can also tell you that if you are looking out for jobs in java,preparation for this exam will help you big time!!!!All the standard questions asked in the interview will be related to the concepts which you would have learn't preparing for SCJP.
This exam certainly provides clarity of concepts, which you might not use on a daily basis,but you will start appreciating how some things are done in java. It will also definitely enhance your programming skills too.