Thursday, October 4, 2007

Are IT certificates worth anything?

I only can write something about Sun Java-related certificates because I'm happy owner of three of them (SCJP, SCJD and SCWCD - and preparing for SCEA). Do professional and experienced developers need such papers? Aren't they useless and worthless?

Many people don't believe in certificates. They claim that they do not give any value and are only PAPER. The only (is it really only?) thing they can help you is to find better job. They also claim that certificates' value is just bringing satisfaction to their owners - satisfaction that you passed difficult and worthless exam.

I absolutely don't agree with such opinions. First of all because developers tend to take their knowledge for granted. We think that our job is easy because it's easy for us. We forget that some of us worked for current knowledge state since early childhood (I started coding when I was 10 ;).

Certificates are almost as important as our university diplomas. I would risk saying that they are even more important because they prove that we do something with our knowledge after leaving university. But the most important factor that should convince everybody to try and take some exams is that they are really valuable (maybe except for SCJP). I learned a lot of useful stuff during preparation for my exams. And what is even more important I can easily apply what I learned in my daily job.

And YES, they help you very very much if you want to change your job!

If you can learn something useful that can help your daily job, if you want to have some fun and become more competent and competitive developer, why not give it a try? I highly recommend every developer who can spare some time to take Sun Java certificates - they are very useful and worth your effort!


  1. I especially agree with regard to "administrative" trainings, like Windows Server Administration (which I had certification for long time ago).
    You learn how to perform tasks automatically, without half an hour of research or googling.
    For ordinary programming tasks you can afford to look up details of some technology you more or less know, but when your server is about to blow up, you better act fast.
    And the certification confirms that you are able to act fast.

  2. no, they don't confirm that you are able to act fast, sorry :). They confirm that you have memorized the required incantations for the exam and maybe, just maybe you haven't forgotten all about them 5 minutes later. There are scores of MCSEs in IT offices around the globe, that wouldn't be able to find their asses with both hands even if their life depended on it.

  3. Sorry Przemek and Slawek. I don't agree with you.
    As a holder of dozens of certificates , I have to admit that vast majority of them is practically useless and does not mean or indicate anything more than somebody does have this certificate.

    First of all, many of certificates are issued without any thorough examination of the recipient (e.g. due are given just for participation or the exam itself is carried out in somewhat relaxed environment). So you can get them, even if you slept through all the course or you sat by a smart colleague.

    Secondly, certificates typically apply to some concrete technologies or methodologies (like Active Directory 2000, Spring X.Y.Z, Hibernate X.Y, .NET X.Y, WebSphere P.Q, CMMI v. A, UML v. K, etc.). It means that after a year or two they are typically obsolete as the technology rapidly changes. I hold IBM certificate for administering & developing software for WebSphere 3.5.x. I wonder if it's of any value today - WebSphere and JEE have changed so much (even the name) that my prior knowledge does not mean anything.

    Lastly, certificates often focus on very detailed aspects of given area. Unless you work in this area every day, you will forget about those details several days after you pass the certification exam. I remember several questions from my Microsoft exam when I had to remember some special parameters of HP printer driver or similar crazy things.

    Unfortunately there are very few (if any) certificates which confirm somebody’s logical thinking, good teamwork, openness, creativity, honesty, “taste”, etc. – the values which I think do count the most in any company.

    And concerning the technology – it’s your real experience which counts the most. For me a person who has developed in JEE for a few years counts infinitely more than a person who holds all Sun certificates and has not written even a single line of code in real applications (other than sample ones).

    To sum up, certificates do convey some information about their holder (like somebody has or had “some” knowledge in given area), but I wouldn’t overemphasize their assets. They are definitely useful for “CV-driven development” and for those companies which tend to believe that if their employees have dozens of certificates then they will be more successful and/or win all contracts (which BTW may be true in some sectors – like defense - CMMI).


    P.S. And I agree with Janusz that it's easier to google for something than to try to recall something in stressful conditions.

    P.P.S. The only certificates I have which I think prove something are my driving license  and Cambridge Certificate in Advanced English. To learn foreign language on decent level you require years of work and such knowledge isn’t lost or does not get obsolete in couple of years.

  4. Wojtek - as I wrote in original post I have opinion only about Sun certificates. I had the same opinion as yours about them before I passed them. If you don't touch the subject you can criticize it or under evaluate (like I did) but after many hours spent on many books and Eclipse I know they are not worthless. BTW. I can write the same opinion as yours about certificates but regarding university degree - after graduating you know absolutely nothing about working in small, middle or big organization. Going further we can say that you don't have to learn at all because you get useless certificates and diplomas. Learning is always valuable and useful - please keep this in mind.

    In order to pass SCJD and SCWCD exams I had to write dozens of lines of code and I learned not details but general aspects of many Java technologies.

    In general I agree with you under one circumstance. All certificates and trainings are useless until you apply knowledge gained during course or preparation within 3 months after finishing it. After that period of time it's useless because you forget everything you learned.

  5. re: Wojtek
    Are you trying to say that holding a CCAE means that one knows English? I have to disagree with you on that one. I know many CCAEs who are absolutely hopeless (but still convinced of their superiority). The only way to actually learn any language is to use it daily. I bet your ass that this was actually how you managed to learn English.

  6. @Marcin: I just say that to get CAE one needs to learn typically for years and then it's very high probability that such person really can communicate in English (however there is no guarantee - never - and you don't know the real skill level) - even after a few years from passing this exam. I wouldn't bet on something similar with any IT certificate.

    @Przemek: I have some certificates which required weeks and months of preparations. Still I don't value them as you do. I bet you can pass Sun Java exam without writing even a single line of production code - this is what I meant.