This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Would you vote for a sheriff that had practiced horse-riding only on a rocking horse? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Would you vote for a sheriff that had practiced horse-riding only on a rocking horse?" Watch "Would you vote for a sheriff that had practiced horse-riding only on a rocking horse?" New topic
Author

Would you vote for a sheriff that had practiced horse-riding only on a rocking horse?

Khalid A. Mughal
author
Ranch Hand

Joined: Jul 30, 2002
Posts: 103
Theory and Practice
As a guest author this week, maybe I can pose a couple of questions (it will turn out they are quite a few) in this forum.
I am very much interested in views on the following observation made by some of the readers.
People can pass the Programmer Certification exam without having written any code.
Is this what the present Programmer Certification exam encouraging?
Emphasizing theory and no practice?
Should the exam be changed?
Do employers know or care that they are getting "theoretical" programmers?
In a similar vain, one could ask the following questions:
Would you feel safe if people, who had only read the driving manual and never driven a real car, were unleased onto the unsuspecting rush-hour down-town traffic?
Would you vote for a sheriff that had practiced horse-riding only on a rocking horse?
(I know at least which horse to bet on.)
[Disclaimer: No innuendos to the sheriffs that go galloping on this site.]
What do you think?
Cheers.
-- khalid
Ko Ko Naing
Ranch Hand

Joined: Jun 08, 2002
Posts: 3178
That's what Kathy has mentioned about it in the following thread...
The SCJP exam based on J2SE 1.5 will be totally changed to Performance-based, using more drap&drop and coding stuffs in it... U might want to have a look at that thread, Mr.Mughal...
http://www.coderanch.com/t/244164/java-programmer-SCJP/certification/Operator-Precedence


Co-author of SCMAD Exam Guide, Author of JMADPlus
SCJP1.2, CCNA, SCWCD1.4, SCBCD1.3, SCMAD1.0, SCJA1.0, SCJP6.0
Dan Chisholm
Ranch Hand

Joined: Jul 02, 2002
Posts: 1865
In my opinion, both theory and practice are important. A programmer that lacks one or the other has room to improve. The process of studying for the SCJP certification offers the programmer an opportunity to learn theoretical concepts that he/she might not learn otherwise. For that reason, I think the learning process has value.
The process of studying for the certification also has value when a programmer goes to a job interview. Job applicants are often required to take a written exam during the interview process, so studying for the certification can improve a person's score on the employment exam.
Learning theory puts more tools into the programmer's toolbox.


Dan Chisholm<br />SCJP 1.4<br /> <br /><a href="http://www.danchisholm.net/" target="_blank" rel="nofollow">Try my mock exam.</a>
Andre Roodt
Greenhorn

Joined: Dec 16, 2003
Posts: 26
Where I work certification is totally worthless. Firstly, in order to be considered for a job you have to pass a practical programming test in the language of your choice, even if you have a PHD in computer science.
I personally am pursuing certification because I honestly believe it will make me a better programmer.
Nothing can beat experience, and unfortunately most companies require some form of experience to be considered for a programming job. Even with all my training, it took me almost two years of general support/admin work before I was even allowed to touch a line of code.
It would be great if a certificate was held in high enough esteem to qualify as relevant practical experience. I for one would be in favour of a more practical exam.
Perhaps Sun should scrap the SCJP and make it the first part of the SCJD. This would offer a better reflection of practical experience.
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8904

I agree with Dan that both theory and practice are important.


Groovy
Jessica Sant
Sheriff

Joined: Oct 17, 2001
Posts: 4313

I would hope that employers understand that SCJP is just a theoretical exam. And that they understand what it takes, and what it doesn't take to pass it.
Personally I studied for the exam to learn more Java and to become a better programmer. And I believe I've accomplished that. Now when I code there are more ways I can write code to do a particular task, and if I get an error, its easier for me to see what the problem is because I understand some of the illegal things in the language better. Granted -- I've forgotten some of the details of the exam, but hanging out here has helped me to retain the majority.
The SCJD exam definitely takes more time and more programming experience for someone to pass. I don't think that it should replace the SCPJ exam, but I would hope that employers recognize its importance over the the Programmers exam. But granted, I know there's cases of people simply downloading an exam off the wilds of the net and turning it in on their own. Hopefully Sun has curbed most of that.


- Jess
Blog:KnitClimbJava | Twitter: jsant | Ravelry: wingedsheep
Khalid A. Mughal
author
Ranch Hand

Joined: Jul 30, 2002
Posts: 103
Thanks for the link, Mr. Ko Ko Naing.
Much appreciated. Very useful!
It seems the 1.5 exam will remedy many of the flaws with the present exam, combining theory and practice.
I look forward to that.
(It also means we probably have to write another book. But that is another story.)
-- khalid
Valentin Crettaz
Gold Digger
Sheriff

Joined: Aug 26, 2001
Posts: 7610
My personal experience is that I never hire someone solely based on his/her resume. I always invite the candidate to spend a couple hours in our offices and the interview is sort of made up of pleasant tech discussions AND (as Dan pointed out) some mandatory tests (such as the one I provide here). These tests are not discriminatory, they just help us evaluate what we can expect from the candidate.
Khalid, I completely agree with what your are saying. I have always *fought* against the fact that inexperienced programmers could just be certified in no time (You said Certification?). Don't get me wrong, though. I don't say that inexperienced people should not get certified, just that inexperienced people first have to learn and get fluent with Java. Then, after lots of practice and coding, they should go at the Prometric Center and beat the exam.
I don't know what Sun's policies are regarding this matter, but it just seems as they are favoring quantity over quality. This is, of course, debatable, although my opinion in this is that quality should have a bigger weigh on the balance than quantity. The reputation of Java is not to be made anymore. People know the technology exists. I guess it is safe to say that Java will never die unless...
The comparison you make with driving lessons is just perfect. We can apply the same reasoning to any other domain that requires learning, such as construction, etc. The fact that software engineering somehow yields virtual products (in the material sense) does not make it any different from other conventional engineering fields where experience is not only regarded as useful but also as absolutely necessary.
By certifying inexperienced people, Sun just shoots itself in the foot (or in Java's foot, shall I say ). I have always been of the (perhaps idealistic) opinion that when some organization want to promote some technology, it has to first lay strong foundations and then build up on them. However, the consolidation process should continuously happen as a parallel task. By "consolidation process", I understand the fact of continuously bringing to market people with outstanding knowledge of the technology. This is (again in my humble opinion), the only way to create high-quality products.


SCJP 5, SCJD, SCBCD, SCWCD, SCDJWS, IBM XML
[Blog] [Blogroll] [My Reviews] My Linked In
Vedhas Pitkar
Ranch Hand

Joined: Jan 27, 2001
Posts: 445
Hi,
If the exam is titled Sun Certified Java PROGRAMMER then I think the person passing must be an average programmer if not a good one.I cannot understand how Khalid made this statement
People can pass the Programmer Certification exam without having written any code.
If you say the same thing about SCWCD or somewhat for SCBCD then I would agree but not for SCJP
BTW thanks for your first Ed it helped me a lot in clearing my Java concepts.
Khalid A. Mughal
author
Ranch Hand

Joined: Jul 30, 2002
Posts: 103
I have picked up statements to this affect in conversations/forums/e-mails, and wanted to hear what people on this forum thought about this issue.
I intentionally worded my statement strongly.
We occasionally get e-mail saying we have an error in a code fragment in the book, and we know it could have easily been tested if the reader had tested the code. Which leads me to wonder if the reader is writing any code at all. Of course, it does not necessary mean they have never written any code.
As I am perceiving from the discussion, winds of change are blowing at Sun to restructure this exam, which will combine theory with practice.
Cheers.
-- khalid
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Originally posted by Vedhas Pitkar:
Hi,
If the exam is titled Sun Certified Java PROGRAMMER then I think the person passing must be an average programmer if not a good one.I cannot understand how Khalid made this statement.
In my humble opinion, you can pass the test without being able to write an actual working program of any complexity. The test does not test your ability to write code.


Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Dan Chisholm
Ranch Hand

Joined: Jul 02, 2002
Posts: 1865
I agree with Jessica: each exam has a specific purpose. The SCJP exam is intended to evaluate a programmer's understanding of the theory. The SCJD exam is intended to evaluate a programmer's ability to develop an application. The combination of the two exams covers both theory and actual coding ability.
I don't see a need to try to cover both areas with a single exam. Is any software engineering manager really going to believe that one 120 minute exam is enough to guarantee the productivity of a programmer? If so, then Sun should think about developing a certification that will enhance the quality--or at least reduce the gullibility--of the software engineering manager.
I think the greatest value of the certification is the learning process. Any employer that has any sense at all is still going to require each applicant to pass both written and oral exams. The certification process is a great way to get prepared for the interview.
Ko Ko Naing
Ranch Hand

Joined: Jun 08, 2002
Posts: 3178
Originally posted by Khalid A. Mughal:
As I am perceiving from the discussion, winds of change are blowing at Sun to restructure this exam, which will combine theory with practice.

Will it become something like SCJP+SCJD = SCJ(Sthing), which is certified both in Theory(SCJP) and Practice(SCJD)?
I guess if it happens like this, the entry level programmer will get trouble for that...
In my opinion, I think there should be entry level like SCJP in order to let the Java Programmer get into more high level like SCJD...
Michael Ernest
High Plains Drifter
Sheriff

Joined: Oct 25, 2000
Posts: 7292

Originally posted by Thomas Paul:
In my humble opinion, you can pass the test without being able to write an actual working program of any complexity. The test does not test your ability to write code.

I agree. The intent of the exam, when it was originally drafted, was to test skills that would in large part rely on applied experience. And to some degree we tried writing RHE that way -- not to make it easier to pass the test really, but rather to stress skills we wanted to encourage in any developing Java programmer. From that perspective, we figured certification would be an easier step to take for those who needed a certificate.
RHE also came out at the time when the main focus of Java evangelism was to convert programmers from their usual language of choice to Java. As a result, we thought a great deal more about people who knew how to program and understood the benefits of an object-oriented approach.
Much to my surprise, an entire culture grew out of figuring out a way past this exam; that's what the dollars in the market were driving for. To a smaller but nonetheless vocal audience, finishing with a high percentage became important. Neither of these goals particularly excited RHE's authors; I'm pleased we did as well as we did for as long as did, given the circumstances. For me personally, I could care less whether someone certifies; I only want to know if they were able to make themselves into better programmers and developers with a little help.
To me certification demonstrates basic language proficiency, period. I'd use it as a resume filter, sire, but I can tell you I have not been kind to so-called paper SCJP's. Obviously people use repetition, memorization, and mock preparation as their means to pass industry exams. It's rarely feasible to devise a test that renders such techniques useless. But you do get a number of people who believe that if they pass the test, Sun has tacitly endorsed them as good programmers, and I don't mind swiftly disabusing an applicant of that idea. I reserve a few special technical interviews questions for just that purpose.


Make visible what, without you, might perhaps never have been seen.
- Robert Bresson
Aaron O'Brien
Ranch Hand

Joined: May 24, 2002
Posts: 89
Very interesting point Mr. Mughal.
Here are my 2 cents:
I think you would agree that when someone is learning to become a programmer and they are successful at the exam, only those who experienced the same hours studying and practicing know what it took to become certified. Although many people might look at those programmers as though their certification is based on theory, what defines experience? Would the number of hours spent learning and developing programs to help you study count as experience? I would agree that this type of **experience** would not be the same as the experience obtained developing real world applications but I guess it really depends on what the companies in your local market are looking for. In my own opinion, certification is there to show that you are current in the latest technology and that you have proven your knowledge. It is up to the companies hiring programmers to determine who should "get behind the wheel", so to speak, and who needs to take drivers ed courses. Where would a beginner get the experience necessary to get a job if they do not start out with real world experience?
I believe that the current certification process is fine and that the companies hiring programmers should take some responsibility for making the wrong decision and not blame the certification process itself. It is up to the programmer to be familiar with what they learn and if they aren't then they will be left behind.
I look forward to reading your book Mr. Mughal.


Aaron O'Brien
Ko Ko Naing
Ranch Hand

Joined: Jun 08, 2002
Posts: 3178
Originally posted by Aaron O'Brien:

I believe that the current certification process is fine and that the companies hiring programmers should take some responsibility for making the wrong decision and not blame the certification process itself. It is up to the programmer to be familiar with what they learn and if they aren't then they will be left behindl.

But the problem with the companies is that they rarely know about the certification process. They should know the gap(differece) between SCJP & SCJD. Otherwise they will complain that SCJPs r useless.B4 They say so, they should know there exists SCJD, which can prove that SCJDs r really performance-based coders...
Aaron O'Brien
Ranch Hand

Joined: May 24, 2002
Posts: 89
Very true Ko Ko,
I guess I am just leaning toward the idea that a committed programmer has to consistently move on to learn new technologies. But I guess this brings us full circle with the original post by Mr. Mughal. If a programmer does not practise then they have a certification based on theory which puts pressure on the programmers that practice everyday. I still believe that there is not anyhting wrong with the process itself but there has to be some other way to determine how capable a programmer is. Then again, if a company is looking for a developer, then they should be somewhat familiar with the SCJD compared to SCJP. A programmer might not move toward SCJD but focus on web development certifications(for example). Also, I know many programmers who could create programs necessary to complete the SCJD exam but they have clearly expressed the fact that they do not want to take either part of the exam. That is just their preference. This does not mean they are not capable and I guess it would depend on how valuable certification is to a company if they were to apply. This could be a very interesting topic to see how people might see the certification process and any flaws it contains. I am sure that there are a lot of people that would disagree with my opinion but maybe there is something wrong with the certification process because of the "Certified Theory Programmers". Perhaps that this will never be completely fixed because theory is such an important part of knowing how to program.
Sal DiStefano
Ranch Hand

Joined: Aug 28, 2002
Posts: 90
I think the SCJP needs to be recognized for what it is (Theroy and basic language usage) and nothing more. Maybe it is the title that needs to be changed. It in no way makes anyone a programmer.
Sal
Marlene Miller
Ranch Hand

Joined: Mar 05, 2003
Posts: 1391
I never realized how little I understand about programming languages (syntax details and concepts) until I prepared for the SCJP.
I was able to focus on the syntax and the reasons for the syntax without being distracted by using the language to solve a practical problem. I was not limited to the parts of the language we usually use to solve a practical problem.
I learned how to think about using the language independent of the usual idioms.
By reading the JLS over and over until it finally made sense, I learned how to think in a different way about languages.
You must choose your teachers carefully. The JLS teaches concepts as well as syntax. The Java Programming Language gives insights into design reasons. Dan Chisholm�s mock exams challenge us to think deeply and apply the rules and concepts. Doug Lea�s book gives context.
I have hundreds and hundreds of test programs answering questions and showing examples of variations on a language concept.
However, I cannot use the language to solve practical problems. I cannot design objects that collaborate to achieve some practical purpose. That is a different skill and set of experiences.
Do employers care that I understand the language in this way? No. Will understanding the language this way help me in my job? No. But I can help other people when they are confused. Will understanding the language this way help me to understand another language? Yes.
[ December 18, 2003: Message edited by: Marlene Miller ]
Aaron O'Brien
Ranch Hand

Joined: May 24, 2002
Posts: 89
Perhaps you are correct Sal,
I guess it all depends on how you define a programmer. But, the exam is used to show that you have certain level of knowledge concerning the Java Programming language. I would say that SCJP shows that you are a programmer but there are many more steps to complete once you are certified. If you don't keep learning, you can't consider yourself to be a programmer especially if you are out of date with current technologies.
Dan Gun
Greenhorn

Joined: Aug 06, 2003
Posts: 26
I personally know someone who's never done any Java programming in his life and he passed his SCJP exam with one book and links from the internet. He has experience in programming in other languages, but no Java experience at all. I also know another person who didn't have any experinec in J2EE but passed his SCWeb something (forgot the official name). How about that eh? Just spend a few hours every night for a few months, and people will think that you are a Java guru.
In saying that, I think studying for certification has given me a lot more knowledge, questions I would never had thought to ask before.


SCJP 1.4
Aaron O'Brien
Ranch Hand

Joined: May 24, 2002
Posts: 89
I guess I wasn't thinking about this topic the way Marlene and Dan have mentioned. I agree with the both of you and I too think that studying will help you to be a better programmer and to understand vital concepts...it must really come down to the amount of time you put into coding whether it is your own project or as part of your job. But the scenarios you mentioned don't really answer the question of whether or not the exam process is the problem itself or do you think that this issue will always be around? There are some very smart people around who would not need to code to pass the certification...Is this actually a flaw in the certification process if those theory certified people understand all of the topics necessary for the certification? This is what I am not sure about.
Feel free to add a comment!
Ken Januski
Ranch Hand

Joined: Aug 08, 2002
Posts: 130
OK, two more cents to add to the discussion, from someone who passed the SJCP 1.2 with not the highest score. But it pretty accurately reflected what I knew. I think a tough job interview at that time would have shown that I still had a lot of gaps and quite a lack of experience. But that's what I expect an interviewer to look for. I wouldn't have lied to them about my experience. And if they'd asked they would have soon realized that my experience wasn't all that great. On the other hand I and a co-worker had created a large JSP/Servlet application that required a fair amount of Java. I was able to get it running by picking up bits and pieces of knowledge here and there. I knew just enough Java to get it running. And it's still running quite successfully 18 months later.
But in studying for the exam I learned a whole lot about how Java really worked. In fact I only started studying for it because I thought I ought to have a better idea of just how our application worked, esp. if my co-worker left (as he soon did). What I've found is that when I now want to extend that original application I'm not terrified of it. It makes sense to me and I can pretty much figure out what I need to do to accomplish something. So studying for the exam, esp. using Mr. Mughal's book, was extremely helpful to me in understanding Java, in passing the certification, and in my future programming. I'm in the odd position of spending 75% of my time programming in Perl and about 25% at most in Java. So it's hard to really get all the experience that I'd like. I think that if I'd had more experience when I studied for certification, or if I'd been able to do more Java progamming since then, that my studying would have been very successful in making me a better programmer. As it was it still helped quite a bit. But I think if I'd had the opportunity to do more programming that it would have even been more helpful. So for me it was very valuable study that I wasn't able to really fully make use of because I couldn't couple it with as much practice as I would have liked.
So what does that say? To me it says that studying for the certification made me a better programmer. If I'd been able to do more programming as I'd studied I think it would have made be a much better progammer and perhaps more importanly one who wasn't intimidated by Java, but one who felt comfortable with it. When you have that comfort then it's easy to expand your capabilities. I'd guess that there are a fair number of practicing programmers who don't have that comfort, or only in the selected area in which they frequently work. Serious certification study makes you become familiar with most of the important areas of Java, not just the ones you've programmed in. And that I think is very valuable.
I'd say my experience with the SCWCD exam was about the same. I scored in the mid 80s, less than what I wanted, but I think a fairly honest reading of my abilities. And in studying I became a better programmer. And again one who's not intimidated by any part of JSP/servlets. I'd never used custom tags before but certification study made me look into them and see their possibilities. In doing that it made me a better programmer.
In closing I'd say that I think the certifications, esp. the SJCP, are fine as are. An intelligent employer is going to know enough to ask the right questions to know whether the person is just a paper programmer. And he's also going to know that most of the people who bothered to spend all the time required to pass the certifications probably retained at least some of it.
My very, lonnnnnnnnnnnnnnnnnnnng two cents.

Ken
SJCP 1.2
SCWCD
Dan Chisholm
Ranch Hand

Joined: Jul 02, 2002
Posts: 1865
Originally posted by Marlene Miller:
...However, I cannot use the language to solve practical problems. I cannot design objects that collaborate to achieve some practical purpose. That is a different skill and set of experiences.
Do employers care that I understand the language in this way? No. Will understanding the language this way help me in my job? No. But I can help other people when they are confused. Will understanding the language this way help me to understand another language? Yes.

I'm very certain that your ability to solve problems using Java is far greater than you think. In addition to your programming skills, I know that your understanding of OO concepts is very good. On the other hand, the economy is such that your assessment of what employers care about is probably accurate. Before the dot com bubble burst, employers were hiring Visual Basic programmers based on their experience of reading a few chapters in an introductory Java textbook and their new interest in J2EE. At that time, any SCJP would have had no problem being hired for those positions. Today, employers are able to hire people with years of J2EE experience, so a SCJP certification is a relatively weak qualification. Now, you're going to need that J2EE experience in addition to any certification.
When the economy is weak, many employers are losing money, but they continue to invest in new products because they want to be well positioned when the economy improves. Engineers should do the same. This is a great time to prepare yourself for the next opportunity.
Dan Chisholm
Ranch Hand

Joined: Jul 02, 2002
Posts: 1865
Aaron,
I noticed that you have the Object-Oriented Analysis and Design with UML (IBM Test 486). Does that certification effectively cover the design topics that a programmer needs to work productively? How do employers feel about that certification? Are they able to understand the scope of the certification or are they more likely to confuse it with the controversial morning after pill RU 486?
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
I'm probably the number one opponent to certification at JavaRanch. If you search through the Job Discussion forum for "certificaton" or "SCJP" you'll find a number of threads on this topic.
To be fair, the problem is not so much the test, as to how people misinterpret the results. It comes down to what programming is, and what the test is.
What makes a good software engineer? Knowing the language is a bare minimum. But good engineers need to know more. The need to understand OO principles (for OO languages), business analysis, possess oral and written communication skills, debugging skills, etc. These are complex and subtle qualities which cannot be easily tested.
The test is basic multiple choice. It can only test basic "quantitative" or "objective" questions. I suspect any test which will be administered to tens of thousands of people will have to be like this, even if it does involve some degree of coding.
Fundamentally this tell just says that you know the basic grammar of the language. Chances are, if you've been developing for a few years, you already know it. Of course, any decent interviewer should be able to figure this out, anyway.
In the last few years, because this has become so widespread, there are a large number of study aids. This allows nearly anyone to pass the test regardless of ability.
The net result is that the test is nearly useless. It does little to differentiate job applicants.
--Mark
Sal DiStefano
Ranch Hand

Joined: Aug 28, 2002
Posts: 90
I think the exam is a good way to get a foundation in the Java Language. It was meant to be one of many parts, not a end-all answer to Java Programming. A programmer never stops learning. You could take these test forever, many of us do. I think used as one of many parts to the complete offering of SUN certifications it works. I agree with it being required before you take other exams. I also think it is better to break the exams into sections, General Language/usage, Web Components, Business Components, Architecture, etc. If you look at other companies, they mix languages with everything and it makes for a less effective test.
Just my 2 cents
Sal
Ko Ko Naing
Ranch Hand

Joined: Jun 08, 2002
Posts: 3178
The following link to the SCJP Page of Sun said...
http://th.sun.com/education/certification/java/java_progj2se.html
This certification is for programmers interested in demonstrating proficiency in the fundamentals of the Java[tm] programming language using the Java 2 Platform, Standard Edition (J2SE[tm] technology).

What Sun states about the SCJD in the following link is....
http://th.sun.com/education/certification/java/java_devj2se.html

This performance-based certification is for programmers and developers who are already familiar with the basic structure and syntax of the Java[tm] programming language, and who have a need to demonstrate advanced proficiency in developing complex, production-level applications using Java 2 Platform, Standard Edition (J2SE[tm] technology).

I hope those words can make us clear about the difference in level(or)gap betweeb SCJP and SCJD in general... The company should be aware of those things, if they want to make a good decision on a certificate-holder...
Fred Grott
Ranch Hand

Joined: Oct 05, 2002
Posts: 346
Originally posted by Khalid A. Mughal:
Theory and Practice
As a guest author this week, maybe I can pose a couple of questions (it will turn out they are quite a few) in this forum.
I am very much interested in views on the following observation made by some of the readers.
People can pass the Programmer Certification exam without having written any code.
Is this what the present Programmer Certification exam encouraging?
Emphasizing theory and no practice?
Should the exam be changed?
Do employers know or care that they are getting "theoretical" programmers?
In a similar vain, one could ask the following questions:
Would you feel safe if people, who had only read the driving manual and never driven a real car, were unleased onto the unsuspecting rush-hour down-town traffic?
Would you vote for a sheriff that had practiced horse-riding only on a rocking horse?
(I know at least which horse to bet on.)
[Disclaimer: No innuendos to the sheriffs that go galloping on this site.]
What do you think?
Cheers.
-- khalid

While a test certainly can test for theory and applicaiotn..
its devoid of actuall aplicaiton of that theory in a real world business environment...
I have found that as a successfull programmer one must be able to interview a customer, anayzle their needs, and mathc up the project requirments of a project against business objectives all outside the 'normal' coding theory and rpactices taught in certififcation programs..
getting cerrified only covers 50% of the actual job requirements..this is why you see companies measuring the other 50% through verification of actual past project exp and etc..

Ceritification in project context where past project exp is verified and analyzed is of course a good thing while certification for itslelf without the exp context being measured is a recipe for project disasters..


MobileBytes blog - Sharing Technology - My Programming Knols
Ko Ko Naing
Ranch Hand

Joined: Jun 08, 2002
Posts: 3178
Originally posted by Fred Grott:
I have found that as a successfull programmer one must be able to interview a customer, anayzle their needs, and mathc up the project requirments of a project against business objectives all outside the 'normal' coding theory and rpactices taught in certififcation programs..

If I am not wrong, those are System Analyst's duty to interview a customer, analyze their needs and match up the project requirments of a project against business objectives...
Maybe programmers at your place have to do the System Analyst's jobs... Here in the country that I'm currently residing, those are System Analyst's jobs... Then the S.A. will assign the coding job to the programmers, after he/she has done the specification development part...
Just want to share my experience....
Dan Chisholm
Ranch Hand

Joined: Jul 02, 2002
Posts: 1865
Originally posted by Fred Grott:
Ceritification in project context where past project exp is verified and analyzed is of course a good thing while certification for itslelf without the exp context being measured is a recipe for project disasters..

The methodologies of requirements elicitation, analysis, documentation, and validation are far too numerous and complex to be included in the SCJP exam; but let's suppose that Sun attempts to couple the two topics in a single exam. Which requirements methodology should Sun attempt to associate with Java? Should every Java programmer receive training in Joint Applications Development or would Joint Requirement Planning be adequate? Maybe JAD and JRP are too specific. Would it be better to require training in a more general software process improvement framework such as CMM? Maybe you don't really believe that it's possible to fully specify the requirements in a single JAD session. Maybe it is better to view JAD as just a starting point for a larger requirements process such as the Volere process. Maybe you're more of a UML advocate so you feel that every SCJP aspirant should learn the RUP process and learn how to specify a product with use cases and activity diagrams. On the other hand, maybe you are more of a follower of the Agile methodologies such as XP. Maybe every SCJP aspirant should be required to learn how to write good user stories. Now that you are training every SCJP aspirant on requirements elicitation, analysis, documentation and validation, you might as well also require them to develop their own project plans and estimates of project size, effort and cost. Would you suggest coupling the SCJP exam with certification in function point analysis or would you prefer COCOMO or Delphi?
I agree that an understanding of the above methodologies is important, but aren't those topics usually covered in graduate school? Is the SCJP certification intended to replace a master's degree?
Companies often try to reduce cost by developing structured organizations composed of contributors with various levels of skill. Such organizations have systems analysts that handle the requirements process, designers that handle the design process, and programmers that write code based on well defined specifications. Other companies use agile methodologies where the roles are not as clearly defined and others have no process whatsoever. I don't believe that it is possible to develop a two hour multiple choice exam that is capable of producing an instance of a one-size-fits-all programmer. For that reason, the industry offers a wide variety of certification. The SCJP certification is just one starting point in the process.
[ December 19, 2003: Message edited by: Dan Chisholm ]
Jeff Bosch
Ranch Hand

Joined: Jul 30, 2003
Posts: 804
I have the opposite problem from Marlene:
I have a background in procedural languages, so I treated Java like "simple C" and used it to write some in-house data translation utilities. Then I had to write a translator with a GUI interface, which made me learn OOP to an extent. The program worked, but...
I decided I like Java enough to study futher, and I jumped into SCJP with the KathyBert SierraBates (Kathy Sierra and Bert Bates, before the transporter accident) book, The Java Programming Language, and The Java Language Specification. I passed with a fairly high score but, more importantly, something almost magical happened -- I started to understand the Java philosopy. Now, the Java converter I wrote is going to be released internally in my company, and I know how to rewrite it for efficiency and maintainability. I would not have been able to do that without the knowledge gained by studying for the exam.
My employer was pleased enough with the results of my Java efforts (we're not a Java house) that they decided to reimburse my exam fee and pay for the next one, SCJD, if I pass. I will also get to play with more Java projects as they come up because of my reputation and the certification.
So, here's one employer where the cert didn't used to make a difference, but now it does because I've helped make them aware of just what the cert means and where my skill and experience levels are. I think any applicant who can clearly and honestly tell a potential employer why they got a particular cert, what the cert really means, and what the applicant can do for the success of the employer stands a pretty good chance of at least getting past the screening interviews.
Well, that's about half of my two cents, but my boss is looking at me like I'd better get back to work!


Give a man a fish, he'll eat for one day. Teach a man to fish, he'll drink all your beer.
Cheers, Jeff (SCJP 1.4, SCJD in progress, if you can call that progress...)
Khalid A. Mughal
author
Ranch Hand

Joined: Jul 30, 2002
Posts: 103
This has been a lively debate!
Many interesting views have been expressed.
I won't attempt to summarize.
I would like to thank all contributors for sharing their thoughts.
Those who have achieved their Programmer certification laurels, I wish you all the best in your next endeavor.
Those who are studying towards their Programmer certification exam, I wish you good luck on the exam.
This is a great site! It is doing really good things. Never a dull moment!
I love the raunchy (sorry, ranch) theme.
That famous cowboy, Lucky Luke -- who shoots faster than his own shadow, would feel right at home among the cows, horses, ranch hands, green horns and the exception-catching sheriffs. Anybody checked out the grub?
I have learnt a lot by being on the forum these last four days.
I hope to be back soon.
Maybe even before the cows some home.
Meanwhile take care.
Cheers.
-- khalid
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
Originally posted by Ko Ko Naing:
If I am not wrong, those are System Analyst's duty to interview a customer, analyze their needs and match up the project requirments of a project against business objectives...
Maybe programmers at your place have to do the System Analyst's jobs... Here in the country that I'm currently residing, those are System Analyst's jobs... Then the S.A. will assign the coding job to the programmers, after he/she has done the specification development part...

And IMHO that is horrible! Now I'm not saying that you shouldn't have one person take the lead. However, no one person will get it right. I go on at length about this in my upcoming book (due out this spring after my applications are finished). Smarter, better skilled people do better at just about any job at any level. Developers who can help with these tasks will be better than those who can't.

Originally posted by Dan Chisholm:

<lots of details about methodologies>
I agree that an understanding of the above methodologies is important, but aren't those topics usually covered in graduate school? Is the SCJP certification intended to replace a master's degree?

Well said Dan. WRT to your question, these topics are covered about as well as basic programming skills are covered in a CS program--minimally at best.

Originally posted by Jeff Bosch:
So, here's one employer where the cert didn't used to make a difference, but now it does because I've helped make them aware of just what the cert means and where my skill and experience levels are. I think any applicant who can clearly and honestly tell a potential employer why they got a particular cert, what the cert really means, and what the applicant can do for the success of the employer stands a pretty good chance of at least getting past the screening interviews.

That's an inspiring story Jeff, and I congratulate you on your transformation. However, your claim that one employer where the cert didn't used to make a difference, but now it does because I've helped make them aware of just what the cert means is dubious. The cert itself didn't seem to do anything for you in and of itself. Studying for it enlightened you. You employer can get the same benefit by created a training program for the employees.
---------------------------------
Let's put it this way. Knowledge and skills are valuable. Certificates are not inherently valuable, but act as a proxy for what is. So how valuable is certification itself. Keep in mind, you can't simply suvery workers and see if SCJPs make more because you may not be normalizing for all factors. Let's just ask employers the following questions:
1) How much more would you pay for some who is SCJP certified?
2) How much more likely are you to hire someone who is SCJP certified?
--Mark
Dan Chisholm
Ranch Hand

Joined: Jul 02, 2002
Posts: 1865
Originally posted by Mark Herschberg:

Well said Dan. WRT your question, these topics are covered about as well as basic programming skills are covered in a CS program--minimally at best.

I agree. Graduate school is really just a survey of a wide variety of interesting topics. If the student really wants to learn the material in any depth, then it is necessary to study above and beyond what is required to satisfy the requirements for the course. For that reason, a master's degree does not guarantee the quality of the graduate. Instead, a master's degree is just an indication that a person has completed a process. The employer must then evaluate the skills of each individual job applicant. The paper itself offers no guarantees.
I think that we both agree that the knowledge acquired by studying for a certification has value, but the piece of paper does not provide a guarantee of a productive engineer or employment or salary increases.
My conclusion is that studying for a certification is a great way to expand your knowledge, prepare for an interview, and improve your chances of surviving all levels of the job screening process. Even without guarantees, I think that certification is good.
Ko Ko Naing
Ranch Hand

Joined: Jun 08, 2002
Posts: 3178
And IMHO that is horrible! Now I'm not saying that you shouldn't have one person take the lead. However, no one person will get it right. I go on at length about this in my upcoming book (due out this spring after my applications are finished). Smarter, better skilled people do better at just about any job at any level. Developers who can help with these tasks will be better than those who can't.

So in that case, a developer has to do anything, both SA's jobs(Analyzing) and Programmer's jobs(Coding). I think that's not specialization anymore...
I can say that such kind of person will earn more than just programmer or system analyst... But it's good to have such kind of person in a company... Perfect in both coding and analyzing the system... Because I've ever seen SAs with very bad coding skill but excellent in analyzing and writing specification for programmers... So I guess it's better to grow up from the ground like programmers to SA step by step.....
Here in Thailand, SA earn more than programmers and it's known that SA has more power than programmers.... I'm not sure about other countries...
Kevin Thompson
Ranch Hand

Joined: May 04, 2001
Posts: 237
Kahlid,
You misunderstand the origins & purpose of certification exams.
THE WAY IT USED TO WORK ==>
Programming managers gave technical interviews and screened out people who were not technically competent.
THE WAY IT WORKS NOW ==>
Management has completely abdicated it's role in technical screening. This is because most managers of technical work ARE NOT TECHNICAL. They don't know code from a hole in the ground.
WHAT THE MARKETPLACE HAS COME UP WITH (considering that management does not know code from a hole in the gound) ==>
The certification exam industry! Now management is off the hook! It is OK if they don't know code from a hole in the ground. They can just use the results of certification exams.
It has nothing to do with anything really. It is just a game. Just like a bachelor's degree. Society rewards people who play the game.
The whole deal is not intented to make any sense. It is just how things are.
And YES - it is absolutely true. People can pass certification exams and still be technically incompetant. These things really don't matter.
Kevin
MAC MOHAN
Greenhorn

Joined: Dec 26, 2003
Posts: 2
There is some merit in Andr� Roodt's suggestion that possibly Sun can make the SCJP exam as the first part of a two-part exam where the first part can be the theoretical exam (as the SCJP exam at present) and the second part can be a solving a programming assignment (as the current SCJD ecam).
But there is a problem with the current SCJD programming assignment itself . The assignment expects the developer to be familiar with Java APIs such as Swing, Threading, RMI \ Socket Programming....
But Java has practically retreated from the desktop as Java is now predominantly a server side technology (J2EE)...
Therefore the knowledge gained by learning to code using the above mentioned APIs is practically useless in a live project situation as none of these APIs (Threading, Swing etc..) are particularly useful in a J2EE project (as Java projects nowadays are predominantly J2EE projects)...
So, the SCJD programming assignment should not be a "core Java" assignment
but instead be a "JSP / Servlets" assignment to increase its practical value...
Tony Collins
Ranch Hand

Joined: Jul 03, 2003
Posts: 435
I think SCJP is useful if you are an experienced engineer moving into the Java ( say from C++). SCJD is very useful as the use of patterns is required/promoted, whether the code is in Java/C++/Smalltalk etc doesn't relly make a difference. Don't get to hung up on technologies or API's, they come and go. IMO.
Tony
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
Originally posted by Ko Ko Naing:

So in that case, a developer has to do anything, both SA's jobs(Analyzing) and Programmer's jobs(Coding). I think that's not specialization anymore...

No, not everything, but a developer is required to actually think and not be a cod monkey. If you just want to be code monkey you better be prepared to eat bananas, because the monkey next to you will code it for less.
Seriously, you're not supposed to specialize, because sooner or later the technology will change and you'll be on your ass. Time and again history has shown that the winners are those who are flexibile and can adapt.
--Mark
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Would you vote for a sheriff that had practiced horse-riding only on a rocking horse?
 
Similar Threads
OCP Java 6 SE Programmer Certification Achieved ! - 98 %
Failed in SCJP 1.5 exam.. will try again
Thanks To Java Ranch and to JQPlus
Cleared SCJP 1.6 with 66% First Attempt
Aloha from Hawaii with 88%