Inside JavaBlackBelt

The JavaBlackBelt team blog.

Thursday, May 22, 2008

Is it important that JavaBlackBelt runs on Java?

posted by Moandji Ezana
Have you seen the massive debate on The Server Side about companies not using their own products? The examples given were the Spring and JavaLobby websites using Drupal rather than a Spring- or Java-based CMS and TSS.NET itself not actually running on .NET.

How important is it to eat your own dog food? From the discussion on TSS, I gathered that there were three elements concerning technology choice: how it affects the user experience, how it affects your own work and how it reflects on your company (ie. image).

For the most part, the JavaBlackBelt user experience is language-agnostic. The obvious exceptions are the programming exams, which rely on the Java compiler. Those aside, as a site member passing exams and contributing to them, objectively it wouldn't make a difference if JavaBlackBelt were written in PHP or Ruby or C# or .

However, our use of Java technologies extends beyond JBB and into the classroom, when we teach. In that situation, developing in Java is a great advantage, as we have years of real-world experience (with JBB and as consultants on other projects) to draw on.

Finally, in terms of image, it makes sense for a platform that encourages the use and better understanding of Java technology (rather than simply reports news and information about it) to live by its own slogans (and it seems that Grails feels the same way).

Of course, this logic applies only to our core domain. Blogging, for example, is not our core domain, so we just use Blogger's platform without wondering if it runs on Java or not. As ever, one must pick and choose battles wisely.

Labels:

Friday, May 16, 2008

You must obey the rules !

posted by Nicolas Brasseur
With the upcoming revamp of the moderation process, here at the JavaBlackBelt secret HQ we are fiercely arguing about What Makes A Question Good. I've summed up our discussions in the form of rules and have decided to share them with the community in this blog entry.
  1. A question must be in the right place. A major problem in the basic exams is that many questions are too hard for the category they're in.
  2. The question's statement must be clear, easy-to-understand, well-formatted, typo-free and focussed on testing real knowledge.
    Avoid ambiguity: nothing is worse than knowing the answer but hesitating to state it because it's unclear what the question author wants. Example: "How old is J2SE?"
    Avoid trick questions: does a question test the user's attention rather than her technical knowledge?
    Avoid never-ending questions: questions containing too much text/code/choice are usually of poor quality.
  3. Avoid cut & paste code questions : ask yourself "Is it easy to find the right answer without even understanding why the answer is right, simply by pasting into an IDE or googling for 10 seconds?"
  4. A question must include a clear and pedagogical explanation that will teach the user something. We aim to teach people new things.
  5. Don't copy other people's questions. Plagiarism is evil.
You must obey the rules !

We've built JavaBlackBelt as a learning tool where people play with exams to discover new things. Help them in their journey. The main mantra when you write a question should be "Do not try to trap people, help them learn and understand the technology."

Labels: