The recession gathers apace, jobs are falling like nine pins, we're all doomed. Or maybe we dig in, work hard, brush up on old skills, read up on new stuff, do a bit of studying, sit an exam or two. Here's a couple of papers about IT exams from the Reg library for your perusal. The Sun certification and team performance: The …
"teams with high concentrations of Java certified programmers were far more likely to intgrate web services into their apps than teams populated by mostly untrained staff."
untrained staff are less likely to piss around with pointless, bloated eye candy than those who actually know what people want.
mines the dedicated software instead of a limited use app shoehorned into a web browser, running that bloody crap known as java.
Apples and oranges isn't it?
>far more likely to intgrate web services into their apps than teams populated by mostly untrained staff
What is it with web integration? Why does everything have to be web integrated?
They could have made a comparison against experienced staff without those magical pieces of paper and I suspect the the result would have been the same but then that wouldn't have looked so good.
Do a part-time MSc
The Sun Java Certification exam was something that I assiduously avoided for the majority of my professional life - until I joined well known Consultancy that realised it could charge more for people with the certification; hence they insisted I get certified.
It is the most useful certification on the planet - worse that what I thought it would be. all it basically teaches you is how to be a human compiler! Zero benefit to a developer with an IDE (or compiler, for that matter).
If you really want some extra training and extra qualifications, get a Masters. Plenty of Universities provide them as Part-Time courses and some even provide On-line varieties.
And if you aren't interested in that, then sit down and learn something new from the plethora of information out on the Internet. Do the study for free on the Internet. Even soft-skills are worth improving to help you move up the corporate ladder. And all of those are far more valuable than that useless Sun Java Certificate!
@AC: You appear to have a fundamental misunderstanding of what a web service is. It's an application that runs on a server and can can be invoked using standard internet protocols, not an applet running in a browser. Web services are machine-to-machine interactions and so have absolutely zero 'eye candy' at all, for which Flash is far more prevalant. Maybe 5 minutes looking at Wikipedia pre-rant next time?
The Programmer Certification has really nothing to do with user interfaces or web services at all. It's about knowing the language syntax, standard API libraries and the functioning of the virtual machine. The later certification like SCJD (Developer) however has a large bias towards web services and especially Sun's own technologies (full J2EE, Netbeans, Sailfin) with no mention of alternatives such as Eclipse, Struts, Spring, Hibernate etc. You can guarantee that anyone who is SCJD certified has integrated web service because it's a required part of the course project.
To travel's more interesting than to arrive
The main point about certification is that to get there you have to know a defined, bounded subject. Despite my natural developer's cynicism, the route to achieving that is more likely to have been mapped out by an organisation with a vested in interest in getting the best out of the target technology and people associated with it. By following it, you encounter stuff that you might never have come across otherwise, extending the value of that technology to you. So certification of itself isn't for me the end objective, it's the discovery & exploration of a curriculum that's been designed to throw light on a technology. That said, taking the test allows you to tell how well you've understood the curriculum, especially if you get comparative metrics; and frankly, if you've gone to the effort of learning, you might as well go the final step. For me the litmus test of whether the certification is a money-making scheme or actually useful is directly correlated to whether you have to take mandatory training, or are free to follow your own learning path through the curriculum.
I don't think they're talking about AJAX enhanced web interfaces in this article, but web services: http://en.wikipedia.org/wiki/Web_services
I ams studying for the SCJP right now.
The questions breakdown to this:
50% - irrelevant syntactical bullshit questions that an IDE will catch (and the compiler will catch in seconds)
35% - irrelevant API memorisation bullshit questions. That's what I have the docs for!
10% - irrelevant operator memorisation bullshit questions. This is why I build unit tests, use asserts and have an IDE that I can debug code in real time with.
5% - Questions pertinent to being a competent programmer in the real world.
I have spent a lot of time studying for this and I will pass it, but it has only made me realise how utterly irrelevant these qualifications are. Being an SCJP != being a good developer. All it means is that you can memorise crap that everyone uses tools for anyway! You can be a SCJP and still write syntactically correct code that is indecipherable, inefficient and unmaintainable mince.
As for Java being crap - it's great on a server. Useless everywhere else I will grant you. Java GUIs give me teh fears.
Well cheers for that...
"Vendor qualifications are the last refuge of an incompetent scoundrel, a programmer's ability is in inverse proportion to the number of qualifications on his wall"
Gee, thanks. Being a young 'un, and wanting to prove my capabilities, I was thinking of doing some Sun or Zend certification, but if all it's going to do is make me shit, then I won't bother, eh? Thanks El Reg, you saved me from being able to apply for any job that "requires proven experience." Good on ya!
Or perhaps my spare-time bedroom-based portfolio isn't enough for some people in suits, and if I want a job with more cash, I should get a SCJD or Zend certificate? Yeah, the SCJP exam is a piece of shit, but you need it to get the SCJD, which is the one I'd actually like to have.
Surely whether you integrate web services with your application is down to whether it would meet a requirement you had?
I'm not certified, simply because I've never got around to it, I've done a few of the example papers and could walk the exam whilst juggling and catching up on the reg.
It wouldn't make my abilities at work any different, and it wouldn't make me more likely to suggest using a web service when there's no need to.
Certification inversely correlated with ability
@Greg - Certification != Experience. Certification just means that you can remember stuff that any decent lazy programmer would look up on the web.
Experience is about NOT repeating things mindlessly, certification is about just that.
Experience is about writing decent object orientated software (as we are talking about java), not just slapping getters and setters around the place "to encapsulate".
Mind you a lot of the Java coming out of the Sun open-source initiative is unimaginably bad, so its the blind leading the blind really.
Need certificates because recruiters can't read résumés
Recruiters can't make heads or tails of what is on a résumé, so you need buzzword certificates to get the concept through their empty heads that you know what you are doing. Unfortunately, this still does not differentiate the good from the bad. One mention of Perl on my résumé and I get all kinds of calls about writing Perl apps when my main ability is writing system software. I am sick and tired of phone calls from these imbeciles. Unfortunately, too many companies think that recruiters deliver good results. Maybe its because they listen to the recruiters...
Actually, this is why...
"For instance, teams with high concentrations of Java certified programmers were far more likely to intgrate web services into their apps than teams populated by mostly untrained staff"
Really? How we are blinded by the word "Certified". How about comparing them with teams of staff who are *trained* but not certified.
If you have a bunch of untrained numpties you shouldn't expect anything good. All the certification usually means is that you have sat and passed an exam.
Not totally useless
I doubt whether my Java certifications have ever swung a job in my favour. However, I still enjoyed working for them insofar as they defined the bounds of what I am expected to know. That at least is the case where SCJP is concerned.
My beef with SCJP, however, is that it isn't difficult enough. The problem for Sun, I suppose, is that if they make it too difficult fewer people will sit for it, thereby resulting in loss of revenue. Mind you, I doubt that certification is all that much of a money earner for them. The value of the other certifications is less certain since they are highly technology dependent. SCWCD and SCBCD are not much use to you if you don't go anywhere near JSPs and EJBs.
Certifications do have some importance... it all depends what company are you applying too.
However, in my experience, I have encountered too many certified people who were quite bad... same with university degrees, have talked to "phd's" who could not articulate what their thesis was about ... I am also amazed with the amount of lies on people's resumes...
Recruiting developers is not easy, the only way is to test their thinking ability and the fundamentals, technology changes rapidly, you need people who learn fast, and you can only build on strong foundations...
What is the effect of...?
What is the effect of Java certification on the acceptance of programming in Erlang?
Or in the coffee consumed in Bean Town?
SCJP sucks, but I learned a lot from SCWD
Dontja just lurve them initials?
In essence the Web Developer cert made me have to understand how a web server works and what http does properly. It has about 50% Java and the rest is really useful. Has helped me no end in my Ruby on Rails job!
Avoid the BCD (Business Components). It sucks and no-one (very few) people use EJB's or the stupid query language. I found I couldn't get it in my head because the API was so inconsistent. I tend to learn things by understanding the patterns - and, guess what? The EJB API doesn't have one, it was designed by a committee on crack.
@AC: You, my dear, will be out of job presto
"untrained staff are less likely to piss around with pointless, bloated eye candy than those who actually know what people want."
One more free place for trained professionals.
Ah, the old fallacy that training equals ability :-)
Those with ability can learn on the job and cope with whatever you throw at them, however new it is. Those without have to make do with training and certification.
@AC -- The GUI is your friend
I work for a large state government in the U.S. and I've been using NetBeans to write a pretty complicated desktop application (financial reporting, mostly) that we'll roll out later this year. Java's a really nice choice for doing desktop software, and NetBeans takes care of all the Swing plumbing for you. You still have to know how to write the code for your event handlers, database interfaces, PDF generation, etc... But if you can't do that, you're not a java programmer, right?
I don't do applets (shudder) but for desktop software, Java's great. As long as you're careful about your memory use, it won't even beat up your PC that much. I don't even worry about "write once, test everywhere" because testing is kind of fun. You run it on some crappy old PCs, some macs, some modern laptops, try to make it break... It's amusing and you can have some popcorn while you try to break your app with wonky inputs.
As far as certification goes, I'm divided on the issue. First of all, it won't affect my job in the slightest. Nobody in government cares about how many pieces of paper you have; you're interviewed by a team including the lead developers, some managers and usually a system admin, and if you can't satisfy them you don't get hired. Anything that makes them nervous or suspicious disqualifies you instantly.
That aside, studying for the programmer test could improve your skills. It seems as though they ask some pretty arcane questions, so you'd have to make a pretty thorough study of how the system works to pass. More knowledge of the guts of the system can't be a BAD thing.
When it comes to the later certs, though, aren't they really pushing a development philosophy? That stuff changes with the wind in IT circles. All you'd be proving is that you're up on the latest fads (web services in this case).
I'd go along with this poster
If writing for the desktop is your thing, then Java can be your friend, it can trip you up with things just as any other code can (C++ garbage collection anyone?).
Everyone assumes that since Java can be used for the interwebby stuff, then thats all it can be used for and dismisses it
But then their are obviously the real code jockeys who program in assembly code after memorising windows entire API list
But then doing the 'write once, run anywhere' thing can be fun if the previous guy has hard coded all the file seperators for running on windows :+(
Read my comment again. I *have* experience, but no-one believes I do because I'm 22.
But I've got a degree!
So does everyone.
But I've got a portfolio!
Best go get some qualifications then, eh?
No you just need a break.
At 22 you haven't got a *lot* of experience.
You could raise your profile by doing some open source stuff, get some googlejuice, or recognition on ohloh.
You could take some courses that teach real stuff - object orientated software development for the real world.
You could apply for some jobs at places that have career enhancing software projects going on. Some media and financial companies are still hiring (not always permies), I know, and doubless other firms are too - IT isn't going away.
If you go the certification route, I know many people that would put you nearer the bottom of the pile, simply because you would have to unlearn so much more.
"Best go get some qualifications then, eh?"
Nah, "programming experience" & "programming job experience" are two different things. Best just get yourself a programming job (even one you might consider to be 'below you') and then prove how good you are.
You've possibly seen it but if not check out the Nimbus look and feel in Java 6 update 10 and later. It really makes Java GUI apps slick, slicker than any other apps I've seen.
Also FYI if on Ubuntu you can install a Nimbus theme for normal GTK apps too.
@Niall -- one gotcha to worry about with that...
If you want your code to be portable, you shouldn't build in any dependencies that could gum up the works for your users. I don't mean only making sure your file separators aren't windows-specific (as Boris mentioned), I mean making sure all of the following are true:
1) Your "code level" in your project preferences is set to a baseline that will work with your entire user population -- in my agency I've standardized on J2SE 1.5 because many of our users will have Macs and many of those are older models with an older OS/X (1.5 standard, no 1.6 available). You also have to make sure you've got a J2SE 1.5 JDK installed, and set it as the preferred compiler for your project or when users try to run your app older JREs will reject the libraries in your JAR file (they won't match the expected versions, although I don't remember the actual error text).
2) You make sure you don't use anything that was introduced after your targeted JDK was released. For example, in NetBeans, I can't use the beautiful new Free Design layout, I have to go old school. I don't mind, it's a project requirement. Anyway, Nimbus would be great for a techie audience, because they're probably bleeding edge with respect to JDK/JRE, but if you have to support the general public, you should stick to 1.5.
The best way to ensure #2 is to use the J2SE reference pages for your targeted JRE when you're working with code. Assume that if it's not in the reference pages, it's not available to that project.
Thanks to backward compatibility, people who DO use modern JREs will be able to work with your software without difficulties.
It's all about setting a baseline, you know?
Do they still program in that stuff today?