views:

1159

answers:

5

I have found Design patterns certification at the Brainbehch.

I have heard from people who passed it, that there are many Language-specific patterns questions, mostly from Java and C++.

I think that this certification can:

  • force me to improve my skills on Object oriented design and design patterns;
  • improve and structure my knowledge of the domain;
  • give real estimate of my knowledge, which is useful issue itself

The only confusion I have about this certification, is that I have to learn C++/Java language specific design patterns, while I mostly do PHP development and don't want to switch to C++/Java.

I'm familiar with Java & C++ syntax, read lots of books about different subjects with code snippets in this programming languages.

I think, that if I pass well all concepts except language specific patterns at certification, it won't be very good, because this concepts will gain quite low results.

What would you recommend in this particular circumstance?

+8  A: 

This is personal opinion, but getting "certified" in something like design patterns is a bit like getting "certified" that you are a professional basketball player. If you are qualified, it will be obvious without a certification, and if you're inexperienced, you won't be able to get one anyway.

The best way to understand design patterns is to gain real, practical experience of when they do and don't apply. Alas, you won't get that without working on real software projects. Consider joining an open-source effort or starting your own project if you feel like your regular job doesn't provide enough of a technical challenge for this to be feasible.

Often times people are trying to fit square pegs into round holes when they advise you to use a particular design pattern. It will take a certain level of experience and competence on your part to evaluate whether they're right or not.

John Feminella
I like your idea about professional basketball player :)I thought that way before too, until I have found many experts in Software development(at LinkedIn), who passed this certification.Since that time, I wanted to look better at this certification.Anyway, John thanks for you useful answer!
Fedyashev Nikita
I'd be wary about drawing too many inferences from that. There are lots of experts who have certifications, but correlation isn't causation: Are they experts *because* of the certifications, or is it just that certifications are easy for them to get because of their expertise?
John Feminella
You say that it is obvious if someone is qualified. How so? Your analogy to the NBA is simply false -- teams regularly make multi-million dollar mistakes.
@unknown » The point is that one's results typically speak for themselves, so you don't need certifications to evaluate skill if you can examine an applicant's previous work. Just as nobody demands that Kobe Bryant sink a few improbable three-pointers to prove his skill before they let him onto the court, Martin Fowler wouldn't need to demonstrate that he's a competent technical mind if he decided to leave ThoughtWorks.
John Feminella
+1  A: 

I really agree with John about the "usefulness" of a certification, but it certainly won't make you a worse programmer if you try.

Don't be too concerned about deviating from php too much. Firstly php is, of course, very similar to both java and c++ but design patterns are always good to know. Even the ones who are language specific; they'll give you a better understanding in languages and the design process which will in turn will make you a better programmer.

Jonas
"but it certainly won't make you a worse programmer if you try" is true enough, but what it will do is hurt him for $50 USD. Seems pointless to me.
Chad Birch
Not so big price I suppose :)
Fedyashev Nikita
A: 

If it costs you any money to do - then no. I don't consider them worth the paper they are written on.

Alister Bulman
Do you mean that for all certs or just BrainBench? My workplace requires BrainBench certs for some jobs, and I'll attest that they don't really prove much except your ability to use Google quickly over a fast connection. Otherwise, I have no first hand experience with certs.
PTBNL
most certs - and this from a guy that's about to take a Zend-CE (I got a freebie exam). Maybe it's just because I consider most of them to be easy.
Alister Bulman
+1  A: 

Design patterns have two major benefits. First, they provide you with a way to solve issues related to software development using a proven solution. The solution facilitates the development of highly cohesive modules with minimal coupling. They isolate the variability that may exist in the system requirements, making the overall system easier to understand and maintain. Second, design patterns make communication between designers more efficient.

If this certification can force you to learning them or can boost your motivation, I think that this certification will be useful to you.

A: 

The purpose of certification is to verify that you have the knowledge and skills.

It seems to me that brainbench have made a mistake in adding tests of language-specific tests in an otherwise language-independent discipline.

Although a C++ expert I have limited experience in java. I took this OO design-patterns test to find that 13 of the 40 questions were on java-specific patterns (which I have obviously never used) . That is 1/3 of the questions were specific to a single language !! (there also was 1 question on C++ language-specific patterns). It seems to me that java-specific questions should be in a java-specific test.

Tim