Last week I passed SCJP6 and I was thinking about taking SCJD. This is my first post on the SCJD forum! I am getting some idea by reading through the SCJD bonus sections of the K&B book. SCJD is definitely an uphill task when compared to SCJP. Though I am confident about cracking it, I have some clarifications/questions about the reality of the SCJD exam/assignment:
- The SCJD is a artificial/fake assignment i.e. The problem is not a real world problem, there is no real customer out there for whom you are working, there is no real team you are part of etc. - so given everything is pretty much fake, that in itself seems to be presenting big challenges in terms of working through the project and getting the best out of it. You know how it is to work on a project with a real customer - the customer who wants the software is out there and you might be interacting with them on a daily basis and getting regular feedback from them on every step of the way. The customer will let you know if they don't like something or if they feel something needs to be improved etc. I mean there is this feedback cycle based on which you know what you are producing is of great value addition to the customer. In addition, usually you are part of a team and you perform the project as a team exercise.
SCJD being a fake assignment with no real customers and no real team to work with and the lack of valuable feedback cycles from the customers, how do you ever know what you are doing is what is really expected from your project and if that meets all the requirements ? What is the guarantee that what you are doing doesn't end up being not so usable or mis-used, underused etc. Also usually it wouldn't be fair for the developer himself to test his own software, because there are so many ways the developer would be blindsided and biased about the software. Usually there is a separate team that does the integration and testing. So there is only so much you could impartially do as an one man army, because you would be so biased about the software you develop!
At the end of the day, does SCJD really pass the standards as a professional certification that would be a good value addition on one's resume, considering the time, effort and money one would have to invest into the artificial assignment? Also one thing that concerns me is the importance/emphasis that SCJD gives to the GUI part of the project, even though GUI/Swing isn't part of the SCJP exam and ironically SCJP being a pre-requisite of SCJD. In this age of everything being transformed to the web, I wonder if using Swing to construct the GUI is really a value adding exercise.
At the end of the day for me it feels like SCJD lacks those important ingredients - the real customer out there and the real team one would work with. So that might limit what one would really gain out of the SCJD project. Not that I am saying SCJD is worthless by any means, but I am just making a reality of check. I would love to hear opinions from SCJDs and current asiprants.
I just passed my driver's exam, and I'm about to take the road test to receive my license. But I'm concerned.
Yes, I'll actually have to do some urban driving, parallel park, and go a stretch on the freeway. But everyone knows that in real driving, when you're on the road for quite a while under dynamic circumstances, you encounter all sorts of conditions that aren't likely to turn up during the road test. For example, in real driving you have to sustain an awareness of where other drivers are, negotiate for lane space, adjust following distance, react to others' mistakes, deal with unusual interchanges or difficult navigation, and adjust speed and technique according to the weather, the road conditions, the traffic's congestion, and the foibles of your automobile in its evolving state.
The road test is so simplistic that it is, in a sense, fake. Yes, it's real driving, but it's a fake circumstance; it's short, constrained, and artificially insensitive to the human, interactive dimension of genuine commuting.
Will my driver's license be meaningful? Does it demonstrate anything of value?
Will my driver's license be meaningful? Does it demonstrate anything of value?
@David - that was an excellent and creative analogy You put it well. I agree with the comparison. I wonder if you are a lawyer by profession
But as I said before, I am not dismissing the SCJD as a worthless exercise. May be I have to re-phrase my question.
How do you overcome the challenges of the artificial exercise ? (again I do understand you could compare it to the driving analogy and get some answers) - say for things like testing your own software as opposed to a end user looking at it with a critical view. It is my personal experience that you don't find many of the flaws of the software you develop because you are biased and blindsided about it. When someone else looks at your software/product and gives a simple comment like "Why didn't you do it like this" or "Why doesn't this work", you bang your head and say "Ah, how come I never thought about it?, even though that was so simple?". That is just one example of the challenges one could face while developing software for SCJD.
May be the only time you get real feedback is after you submit the project and get evaluated by the assessor (not sure if they let you know the real feedback or just the score only) and by that time it might be too late for you to realize the flaws and shortcomings.
It is like you failed at the driving test and it was too late before you realized that you made the mistake or you barely passed the driving test, but you felt you could have done much better.
Your assignment contains 2 files: a database file and a set of instructions/requirements. Some of these requirements are "must" requirements (if you don't have implemented these ones, you fail), other ones are a whole lot more open, there are very easy requirements (you have to implement this interface and your class has to be Data),...
There is no possibility to ask questions about these requirements to anybody from Sun/Oracle. The only resources you'll have are this great forum (where each possible questions is asked already) and the great SCJD book by Andrew Monkhouse (which I used myself). I had already a whole lot of enlightning discussions with other opinions about the requirements and different solutions of the same problem.
My SCJD assignment was bought by my former employer, so I didn't have to pay it. And I didn't get a raise or some benefits when achieving this certification, but this was also not the aim of taking this certification. If it will help you to get a job, I don't know (since I started my own company in the beginning of this year, so I didn't need a job interview ). But I think when you have some certifications on your cv it shows you are motivated and eager to learn, which are important characteristics for a developer.
The Swing part of this assignment is really limited. They don't require a fully-fledged GUI. I had a simple GUI with some dialogs and a JTable to show results (no toolbar, a very limited menu-bar),...
The SCJD is besides the SCEA certification, the only on which is performance based. It demonstrates you are able of problem solving, taking decisions and argumenting why you took them. And you have to right documentation (both javadoc and user guide). You will also be assessed on your coding style. But you will only get your end score with no other feedback at all (unless you'll fail, then you'll get the reason why). Before the acquisition by Sun you got a score per section too, but if you had a 97 / 100 for general considerations you will never know why you lost these 3 points (which could have been a bit frustrating). But now it's just your total score and that's it.
Taking the SCJD or not depends on what you are trying to achieve. If you want to get a job as a web application developer some Spring and/or Hibernate certifications will be more valuable to you (or maybe the SCBCD, SCWCD,...), because these certifications will proof more specific knowledge than this SCJD certification (which only shows you have good/fine/excellent developer skills)
I would say it is worth it - it is an incentive to learn something you hadn't had the change to learn before (at least for me it was). Also, there are so many SCJPs all over me, but I will be the very first SJCD, and this will make a difference in my CV - at least for the very first proxy being a head hunter company that performs a 'grep $keywords rafs_CV'. But seriously, I consider it a great experience. And it wasn't like you say - you have no customers, you have no additional urge to excel as it is fake. When I code for myself (whatever that is), I go the extra 2 miles to make it perfect because I can afford it - no boss tapping me on my shoulder to hurry... And for the customers - I am more than certain that no all members of your family are programmers, and even if so, they probably don't share all of the same opinions as your (developers never do). Employ your mother, sister, grandma to do the click-testing, I bet they will click something out that you will have to fix. While you explain to the how it works, you can also have the 'A-ha!' moment as well.
Joined: Feb 03, 2009
Thanks guys for taking your time to clarify my points. I really appreciate your taking the time and interest to provide the feedback. Yes, I hope your responses will help me to steer my goals in the right direction.
@Roel - Thanks for your very detailed discussion/feedback. It is really informative and helpful. Great that you could have your employer pay for the SCJD. And WOW! you started your own business/company. That is really awesome. I wish I could do that. I agree this is a great forum to discuss issues that could come up. I didn't realize that there were certifications for hibernate and spring.
@Raf - Thanks for sharing your experience and providing the encouragement.
Overall I couldn't agree more that SCJD sets the bar high and is a great certification to pursue (particularly if the employer sponsors it - which isn't the case for me
I will try to keep you posted on whatever I plan to do Thanks.
Joined: Aug 21, 2008
As for the bosses paying for the cert - have you asked them? If you didn't, you never know. Take your boss, talk to him, present the value - if they don't agree, you are not going get slapped in the face, so you really don't risk anything. One big argument you can have is that with this certificate the staff (you :-)) looks more profesional. I used to work for a company which employed a lot of students. The customers generally didn't like it, but most of the students in the project I worked in had SCJP - now the customer suddenly liked it. Just give it a try with the bosses.