• Home
  • Events
  • About
  • IT Certification Alternatives: Cost Benefit Analysis

    So you’re thinking about getting an IT certification? Congratulations, you have discovered the Pragmatic Programmer Tip #8 – “Invest Regularly in Your Knowledge Portfolio”. But before you sign up, pay your fee, and spend your time chasing a certification, consider two points from the fine print from the Pragmatic Programmer book: Manage Risk and Buy low, sell high.

    I do not have a Java certification, despite it being my primary language. There is risk for me to get this certification… I might spend all my time studying and then fail the test! I don’t think “studied for the certification exam” looks as good as simply “I am certified”, but that’s what I might end up with after several weeks of work. And there is also the risk that I am buying high and selling low, instead of the other way around. The Sun estimate for getting the Developer cert is 160 hours! This is a huge investment and I am not sure I’ll recoup the cost quickly enough. Perhaps there are better alternatives? Is there something that offers just as much benefit but with less effort? Or more benefit with the same effort? If there is, then the decision on whether to get a certification or not is an easy “no”: it’s ain’t worth your time kid.

    The following is a table of all the things I’ve done in the last 12 years and the amount of time it took me to accomplish them. If the numbers are accurate, then it should be fairly simple to make a cost/benefit analysis of different knowledge portfolio endeavors.

    Task Effort Notes
    In-House Tech Presentation 8 Hours Your resume can either say “Spring” or “Trained team on Spring”. The latter looks a better and gives you a more interesting story to tell in interviews. At only 8 hours of prep and delivery time, this has been useful for me. Recommended.
    User Group Presenter 24 hours A user group presentation is stressful but not that hard once you’ve done an in-house presentation. It does take some effort though and I usually have to pay for travel. The problem is that this task doesn’t prove anything to interviewers that the in-house tech presentation doesn’t already do and in less effort. Unless you have ulterior motives (future conference speaker, egotism, community building) then I say Don’t Bother
    Conference Presenter 16-32 hours Once you’ve given a user group session then the conference session is pretty much a cakewalk. A stressful, nauseating, sweaty cakewalk. And there is definitely some cache with being a conference presenter. When I’m asked, “Do you know OSGi?” I get to answer, “I presented on it at 2GX.” and if you can speak for 90 minutes on a topic at a conference then surely you can go 5 minutes in an interview. Recommended* (*if you already gave a user group talk)
    Open Source Contributor 8 hours Being a contributor to a project is pretty darn easy, but your friends will probably care a lot more about this than someone who is interviewing you. I don’t think I’ll land any new jobs because of the 10 line patches I’ve sent a half dozen projects, but I did make some good friends. And you know what, the guy who recommended me for a job at Canoo was someone I had sent a 10 line patch to. But as an alternative to certifications, Don’t Bother, the benefits are intangible at best.
    Open Source Committer 120 hours If you take 3 weeks off of work and work solidly on an open source project, I think you’ll be made a committer. The problem is that people reading your resume frequently have no idea what the difference is between a contributor and a committer. And being a committer is a long term commitment to fixing bugs and remaining active. This is a lot of work but also a lot of fun. Being a Groovy committer has been greatly beneficial for me, but it was paired with conference speaking and blogging. I say Recommended* (*but it is really more of a lifestyle choice).
    Open Source Project Lead (for your own project) 40 hours If you are the only developer on an open source project that no one has heard of then nobody is going to care. I wrote TimeTool to learn Swing. Mission accomplished. But is is a terrible alternative to certification. Don’t Bother.
    Administer a User Group 24 hours Administering a user group tells interviewers you like distractions from coding and it won’t help you answer any of their interview questions. On the plus side, you will meet a whole bunch of people that will suggest your name for interviews. If you’re looking for a new full time job then this is a good tactic. If you’re looking to ace consulting gig interviews then Don’t Bother.
    Certified ScrumMaster 16 hours There is no preparation for the course, it is not too expensive, it never expires, and there is no test. This is about the easiest certification you’ll ever get. And a lot of hiring managers value this. If you want to learn and enrich yourself then skip this “certification”. If you want a certification on your resume, then 100% Recommended. You can get Scrum certified almost 5 times for the same investment as a SCJP, and with no risk of failing a test.
    Webmaster for User Group 12 hours I was the OTUG webmaster for almost 3 years. It was a nice way to make friends, but no one interviewing you will care about the plain old HTML and CSS site you maintain. As an alternative to certification: Don’t Bother.
    Volunteer Conference Organizer 40 hours As a volunteer conference organizer at Agile 2006 and 2009, I got to see the conference for free, I got to meet and engage the speakers, and I made some friends. Interviewers won’t be impressed specifically with the volunteer experience, but I have several good stories I can tell during interviews. And the 40 hours I spent was all time at the conference. Recommended.
    Build Personal Website 40 hours a year Unless your personal website is Slashdot or BoingBoing, then Don’t Bother. I’ve spent an inordinate amount of time editing photos, php, javascript, and css for something that facebook replaces for free. No one cares about this, not even my friends and family. Harsh.
    Learn a new language this year 40-100 hours I have 5 years Java experience. Plus Groovy and F# and Scheme, all learned during that time. How can I truly have 5 years Java if I spent my time learning other languages? Learning new languages is great for your mind and bad for your resume. As an alternative to certification, Don’t Bother.
    Organize and run a Book study 16 hours I organized or participated in about 6-8 book study groups in the last few years. It is a small investment, especially if you’re going to read the book anyway. And I can definitely say that reading and discussing Java Concurrency in Practice, Release It!, and Effective Java twice has made me a better programmer and interviewer. Plus, the interviewers will assume (rightly) that you can help their team run a book club, which you should do. Minimal investment, high value: Recommended.
    Write a technical blog 40-60 hours A blog post should take about 4 hours to write, and if you make 10-15 posts then you’ve got yourself a nice little blog. When interviewers see your URL in the resume they’ll click it and skim the contents but not read any of the articles. If you want maximum value for minimal investment, then do not date the articles and don’t supply a way to see how many posts there are… that way the site will age gracefully in the future. Cynical? Maybe. Other programmers will care about this a lot more than managers will care. I say: Consider It.
    Master’s Degree 1344 hours and $$$$ This is a huge time investment, a big money investment, takes 3-4 years of calendar time, and won’t start accruing value until it is fully finished (no one cares that you are “taking” a masters degree only that you “finish” the degree). It is the ultimate un-agile training strategy and a good example of a bad value stream. Don’t expect monetary payback until almost 10 years after your first class! This is a bad alternative to certification because of the enormous cost: Don’t Bother.

    And here is my guess about the Java certifications a few of us Canooies are considering:

    Java Certified Programmer 80 hours You study a large book. You possibly become a better Java programmer. You may study too much and waste your time studying or you may study too little and fail the test. However, the SCJP certification gets you in the door with a lot of companies and some people do care about this. This won’t help you perform in interviews, but it definitely helps get the interview. I have to say, after careful comparison, this ranks as a strong Consider it. The biggest problem is that it is just not fun to do.
    Java Certified Developer 160 hours Sun/Oracle says this cert should take 4 weeks of effort, but that seems like a high estimate. And again, you may do too much or too little work. Plus, interviewers may not know the difference between SCJP and SCJD! I predict most filters are looking for SCxx and don’t care about which level you actually have. Considering the time investment and risk, I say Don’t Bother.

    And the results?

    Here are some equivalent scenarios on how to spend the next 80 hours of your life:

    • Sun Certified Java Programmer (80 hours)

    or all of these combined:

    • 2 In house technology presentations (16 hours)
    • 2 Open Source Contributions (16 hours)
    • Scrum Master Certification (16 hours)
    • 2 Book Study Groups (32)
    • And you have fun doing it!

    In my opinion, the latter list sounds better than the previous list. Problem is, my opinion doesn’t count for much when it comes getting in the door as a contractor or consultant. If you are looking for a new full time job, then I recommend that 2nd list and skip the Java cert. For contractors/consultants, it pains me to say it but the Java Certification still seems like a decent value for the cost.

    So what is your custom plan this year? The first list or the second?

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • DZone
    • Y!GG
    • Webnews
    • Digg
    • del.icio.us
    • DotNetKicks
    • Facebook
    • Google Bookmarks
    • Newsrider
    • Twitter
    • YahooBuzz

    4 Comments »

    1. Donal said,

      June 14, 2010 @ 11:30

      I’ve done SCJP, SCJD, SCJWCD and in my experience, 80 hours for SCJP is a very high estimate. About half that is more realistic for an experienced Java developer. On the other hand, I don’t think 160 hours is a high estimate for SCJD. I took about that much time (or maybe more) to finish it, though I was using Java 1.4, so didn’t have the benefit of java.util.concurrent.*

    2. Bob McCune said,

      June 19, 2010 @ 4:24

      Hamlet,

      It’s rare that I find myself disagreeing with you, but I have to disagree with your points about presenting at and running a user group. I find presenting to a user group really forces you to thoroughly understand a topic. I feel far more compelled to have a deeper understanding of the subject matter when presenting to a UG than I would be when presenting to a group of coworkers. Maybe that’s just me.

      I have also found being the leader of the MN CocoaHeads group a great educational opportunity. I’ve gained a great deal of insight into the world of Mac and iOS development that I wouldn’t have had otherwise.

      -Bob

      BTW, you dated your post. ;)

    3. Michael Crump said,

      July 3, 2010 @ 23:06

      I can personally say that I got my MCPD because I wanted the knowledge and having something to shoot for helped me achieve it. If your good enough, then you probably won\’t need to put a certification on a resume.

    4. Sho said,

      July 27, 2010 @ 22:54

      While I think this is an interesting read, I think there are many naive concepts in here. Firstly, many of these ideas are outdated. the talent pool for programmers increase significantly each year. India has a culture of focusing on grades and degrees. This means that if you do not have a degree you are at a huge disadvantage.

      There are many programmers without degrees who have many years of experience, and have done well. If they were to enter the market now with little experience they couldn’t compete.

      If your resume reads like a geek-fest you will get ignored unless you either are applying for:

      - short term contractor
      - low paid contractor
      - small eccentric software company
      - junior in a mid to large software company.

      These options make your options limited and your $ potential horrible. In today’s market you need all the credentials you can find. It is harder for garage coders to get jobs because there are so many educated programmers around. Many garage coders are excellent. The thing is they would have been even better if they had the degree. There are some concepts that you probably will not learn just doing it on your own.

      If you just want to be a coder then a degree may not make sense but a certification may. If you want any opportunity for growth you better get formally educated (in some field).

      Certifications help put your foot in the door, unless it is a rare and widely acclaimed one. After that interviews are about luck and preparation. BTW I had 30+ interviews in my life with a 90%+ success rate.

    RSS feed for comments on this post · TrackBack URI

    Leave a Comment


    nine + 5 =