I have just started my career as a programmer. If I do Java certification starting from Sun Certified Java Programmer level (foundation level) and then web component developer and business component developer on speciality level, will it be useful for off campus placement and for growth in company?
views:
1090answers:
15It's definitely useful in an educational way. Whether your current or future employer will appreciate it is something that cannot be predicted.
It certainly does not hurt. You can actually learn a few useful things that way, too.
If you can get your company to pay for it, you should probably do it. If not...
If you want to work at a company that uses the certification as a major factor in hiring decisions is another question...
There is also the clique that thinks certifications comes instead of skills and employers that will frown upon you if you try to show off your certifications instead of your actual achievements.
But still, you will most definitely learn something from them.
Over the past 2 years I have been doing a lot of interviewing for various Java development roles. The only one with Java Certification was by far one of the worst candidates. I would therefore attach no weight to the qualification and I know of no-one in my industry (financial IT) who does.
Take a look at the certification study books. If it looks like you will learn something then go for it.
Assuming you have a job and are not in school (I think that is the case) then find out what your employer thinks. Given the economy they may not pay for it, but if they see a value in it they should. If they don't see a value in it, and you got the job, then, from a career point of view it likely means nothing. After your first job (and often even for the first one) your credentials don't matter all that much.
Yes. However, nothing beats experience.
I would say the Web Components, Web Services, and Business Components certification are a good way to verify to yourself that you fully comprehend these architectures/APIs. The SCJP is a necessary evil to get past in order to take these more useful certifications.
As an example, I was working with a 'web-expert' colleague who did not know the servlet threading model, and had never heard of servlet filters. Taking the certification would have helped him become aware of these features.
Certification does not give you skill as a programmer.
However, the reasons why you did certification would be important to me (as an interviewer). If you did it out of a genuine urge to learn more, fantastic.
For info, I did a certification in Java 1.4 and Oracle PL/SQL & Oracle Forms ages ago. This motivated me to continue learning. I have to admit I was in a bit of a rut, and my skills weren't exactly cutting edge at that time.
If a developer has the SCJP, I know that they can write syntactically correct Java. It doesn't mean they can write "effective Java" (for an explanation of which, please see the excellent book of the same name), but it's a start. At least you know they're not one of those fresh graduates who put "expert level Java" on their resume but can't tell you the difference between a class and an interface. So by all means do the SCJP if you can afford it. The approach my employer uses is that they provide the learning materials and the employee pays for the test. This seems fair, as both parties stand to gain.
The SCJD is much harder to pass (you're allowed a year to do the work) and tells you that the holder:
- knows a decent proportion of the core J2SE APIs (not required for the SCJP)
- can apply their skills in order to design (and justify the design of) an end-to-end solution to a realistic computing problem (as judged by a real person at Sun)
- can see a non-trivial task through from start to finish under their own steam (a very marketable quality)
So I value the SCJD quite highly, although AFAIK I've never met anyone that has it.
The more JEE/J2EE-specific exams like SCBCD and SCWCD are being made increasingly worthless by the widespread adoption of the POJO programming model by the industry. I'd only bother doing them if they are either free or you're going to an old-school shop that still does things by the book Sun-style. If you go to a more progressive company that uses say Spring and Hibernate, the skills you gained from those certifications will be 50% useful background knowledge and 50% wasted.
The other Sun certifications like Architect, I don't have an opinion on.
(Yes, probably it would be useful.)
This older question is almost the same:
http://stackoverflow.com/questions/281100/is-it-worth-becoming-sun-certified
Also, about the SCJP specifically, see:
http://stackoverflow.com/questions/323478/is-an-scjp-certificate-worthwhile and other questions tagged with SCJP
Edit: for what it's worth, I've already posted my personal views about SCJP here and here, as well as a question about the worthwhileness of SCWCD.
I don't know anyone who lists them on their resume. I have two and don't list them.
No prospective employer has ever asked about my certifications.
I think something like a Cisco Certification is well worth having and is a strong indicator of ability with a technology, because it's so rigorous and difficult to get. I don't think any of the Java certifications are close to that level of rigor.
You'd be better off getting a computer science degree.
I consider certifications to be nothing more than a tax on programmers.
Getting a certification is largely about rote learning things you never need to know. Example, which of these is a valid way to declare an array in Java:
- i
nt[][] x;
int x[][];
int []x[];
The correct answer? All of them.
Now I don't know why anyone would ever know (3) is valid. Thing is, this is the sort of thing you get asked about on an exam that you need to memorize. I know people who have been programming for 15 years (10 of those in Java) who got this wrong. So what does it tell you? Nothing.
As for the SCJD, it's true that it's more rigorous than the SCJP but it also has political nonsense in it, like getting marked down for not following Sun's Java coding conventions. Say what?
If memory serves the architect exam forces you to learn a bunch of things about EJB 2.1. Most people (quite rightly) don't deal in EJB 2.1. It was an idiotic technology in 2004. It's only more idiotic now. But Sun keeps pushing that dead horse. That might get better when they update the exam to cover EJB 3.0 but you that hasn't happened yet (afaik).
Now I have come across the odd recruiter who will use this as a filter. Then again these are the same idiots who can only recognize acronyms (so the recruiter is really just a regular expression parser and a bad one at that) forcing you to pepper your CV with acronyms. This is a really marginal case however.
To give you a good example of this I got asked on the phone once: "I see you'e done 8 years of Java but have you done any J2**S**E?" Yes, that's an S, not an E.
If your company will pay for it (some do) then you may as well. I wouldn't waste your own money on it however.
Certification preparation can be useful because it provides a finite list of things to study and some objective feedback regarding whether you've learned those topics. Passing a quiz at the end of an exam prep book is a much more tangible goal than "learning Java." Certification prep books are useful even if you have no intention of actually taking the certification exams.
Certifications are useful as well if they boost your confidence.
But employers are not necessarily impressed. Some are, some are not, and some even think less of a candidate with certifications. It matters how you bring it up. If you crow about certification rather than experience, that leaves a bad impression.
So one strategy would be to study for a certification, maybe even take the exams, but decide later how to mention it on your resume or even whether to mention it at all.
A certification is an examn, where the knowledge of a very specific area is probed. Like any other examn it does not show much else, like social skills or ability to ship a finished product, but it indicates that the person was able to study a highly technical subject and learn it well enough to pass an examn.
So, it goes along with all other kinds of education, in being just one of the many facets you as an employer needs to take in consideration before hiring somebody.
I've taken the SCJP and it required serious studying. Work experience was not enough in itself.
Passing the exam proves three important things to a current or prospective employer:
- you're smart.
- you know how to study and prepare for a challenging test.
- and, most of all, you know the Java language.
But does it mean that you can actually develop software in Java? NO, but it's a good head start.
@cletus, I agree with you. Certification typically is not a requirement. If you want to work for google or yahoo, they will never require it! I doubt it will be worth the time & effort to learn all the nuances as mentioned by cletus which you will never need to know. You might better spend that time on some open source project which will help hone your skill as a programmer and maybe some reputation.