09 March 2012

Two Years of the PL/SQL Challenge, and Looking Ahead





First, What's Coming

Activity Points


Practice Quizzes


Quizbook: Quiz as PDF


On-Site Discussions

Lessons Learned
Here are some of those lessons:

Variations on the Daily Quiz
Making Rankings Count
Your Thoughts?
  • What have you learned from the PL/SQL Challenge? 
  • What do you like best about it? 
  • How do you think it can be improved? 
  • How can we get thousands of Oracle technologists to play? 
  • Why don't your co-workers play now? 
Many thanks in advance,
Steven Feuerstein


    1. Hello Steven,

      Why don't your co-workers play now?
      I just asked my co-working sitting vis-à-vis to me. She said she simply has no time to play daily, if she wants to read and think about the questions thoroughly.
      Another reason is the language. Though most have learned English at school, many have not practiced it since then. I don't think it is possible to make the challenge available in different languages, not only because you would need a translator that really understands the question, but also because even in the english version there have been complaints about the meaning of some phrases.

      I like to play the quiz in the morning before I start working and I like that I get a feedback the next day. I still could do so if the questions are published weekly and it would add the flexibility that I can choose to miss a day.

      Keep in mind, that in some parts of the world credit cards are not that common as in the USA, e.g. many people in Europe only have a debit card (EC-card). This would be another barrier to take part.

      What do you like best about it?
      The best is, that there are quizzes that tell you what you don't know or, even better, that your knowing is wrong.


    2. Making Rankings Count

      Does this mean that I have to pay for every competition? Why should I do so?

      Your real name ... will be displayed in rankings. You can't "hide" behind a player name
      There are valid reason why someone does not want his name to be displayed. Maybe someone does not want his/her employee to see how good or bad the results are.

      What are these points good for, apart from somthing like the lifetime ranking we already have?


    3. Hi Steven,

      Here are some thoughts about how to get more Oracle technologists to play:

      1. One more advantage to join PLSQL challenge: It helps prepare OCP exams.

      When I write the quizzes, some of them remind me of the questions from the OCP exams I took. Besides the advantages the website already promotes, it might add more value to mention it will also help to prepare Oracle certificate exams.

      2. Add anther "Search the library" on the main page.

      When asking my co-workers to participate in PLSQL challenge, they either don't like taking quizzes or are simply too lazy. Some don't like to be timed to answer questions; others just don't like "test/quiz" in general because those words trigger their worst memories.

      By observing the way our team (including me) work our projects, I notice that we will absolutely go out of our way to find answers if we have issues or need ideas. How about meeting the lazy people (including me) half way by adding another search box on the main page? So the non-quiz takers can also benefit from the two-year worth of practical and in-depth materials, and even being "converted" to take part in PLSQL challenge.

      PLSQL challenge currently has a Search in "Library" section, but it's a bit hidden from the general web users. By adding another one on the main page, it might help to draw more potential Oracle technologists to be part of PLSQL challenge.


    4. Steven,

      Some general thoughts, keeping in mind that I greatly appreciate the time and effort you have committed to the PL/SQL Challenge, knowing that it is easier to find fault with things rather than create something new that everyone will like.

      1. Activity Points: What's the point? The original goal with the scoring of quizzes was to rank individuals based on their knowledge (% correct) and timeliness (time to answer) on the quizzes. Will the activity points be separate from the current points used to rank individuals? If you start including information such as discussions, creating quizzes, etc, this seems to confuse the original purpose of the rankings and becomes more similar to the Oracle ACE type rankings on the Oracle Discussion Boards. The vast majority of individuals will not find themselves in the top rankings, regardless of the system used (there can only be 25 indivduals in the top 25).

      2. Including 2 old quizzes per week: I think you underestimate the ability of many of the individuals taking the quizzes on a regular basis to recall past quizzes, especially if they were tricky or if an answer was missed (I know I spend more time analyzing the quizzes where I missed answers than the quizzes were I got all answers correct). Would be an interesting study on whether the performance on old quizzes was higher the second time around.

      3. Requiring a credit card: This is a no go for me. Although having played over 90% of the daily quizzes, I will stop participating the day this becomes a requirement for several reasons. A. I'm not buying anything, so why would I agree to give you my credit card information? B. How secure would the credit card info be? I have no way of knowing. C. Were I to qualify for a quarterly playoff, I know my chances for a top 3 placing are about 0%. With a 0% chance of monetary rewards, outside of potential weekly and monthly drawings, why should I keep my credit card on file with you? If you are really concerned about cheating, why not remove all monetary prizes? Even the threat of quarterly verification has deterred at least 2 individuals from continuing the competition. With no monetary goal, would individuals still cheat for higher rankings, whatever form the new rankings take? If the purpose is to further one's PL/SQL knowledge, is the monetary carrot even required?

      4. Zero tolerance for aberrant scoring: I know this is a tough issue to tackle with no good solutions. Would removing all monetary prizes help? Even though I am playing honestly, it has the appearance that everyone is now in the boat of guilty until proven innocent via the monthly and/or quarterly qualifier quizzes. Is this really the way to build a strong foundation on which to grow this PL/SQL community?

      5. A formal education in music theory is an excellent foundation for people who would like to become programmers: Every once in a while, throw a music theory question into the daily mix, to test whether the opposite is true as well.

      6. Post this blog entry to the PL/SQL Challenge page "Messages" so that it is seen by the group (only 2 responses after a four days indicates not many people have seen the post).

    5. I will respond to your feedback soon, but thanks, Anonymous, for reminding me to post a message about this. Done! Let's see if we get some comments and then I will chime back in with my "two cents."

    6. Hi Steven,
      here are my thoughts on some topics.

      Mixing 3 new and 2 old quizzes in a week.
      I got a feeling that the reason for this suggestion is primarily to relieve you of some work because you just don't have time to produce enough good quizzes.
      If that will help you, let's do it. There's no sense in making you work like a maniac just to keep the PLSQL Challenge going for the rest of us. I very much admire the extraordinary effort you and your team have put into this project, and I think noone can blame you for wanting to slow down a bit.
      I think having some old quizzes in the mix would be ok also for checking whether we have learned something. Don't show us if this is the new or an old quiz before we take it, but it would be great if you could give us the comparison of our "old" and "new" score for the same quiz.
      The ratio of 3/2 (new/old) seems fine to me. If at some point in time other authors also become as productive in writing quizzes as you are, and you suddenly have a lot of quizzes waiting in queue you can change the ratio to 4/1 or even to 5/0 again.

      Introducing the possibility of taking all 5 weekly quizzes at once.
      It would be appropriate to call this "BULK COLLECT quiz taking", don't you think? :-)
      I think this is a great idea. Sometimes in a stressful work week it can be a burden to take the quiz each day, so it would be great to have an opportunity to take them all at once when we have time, or take e.g. 1 on Monday, 2 on Wednesday and 2 on Thursday. There would be a lot less missed quizzes that way.

      Using a credit card as a verification of identity.
      I don't have any issues about security of my credit card data with you. I think you would take care of them as secure as any other institution that I entrusted my credit card data with.
      But, I agree with some concerns that others have stated in their comments:
      Not everyone has a credit card.
      Not everyone is willing to pay anything (even a small symbolic fee). I personally wouldn't mind paying a fee, but I think a lot of players would be put off by that, and we would loose many good players to compete with.
      So, all in all, I would say "no" to the credit card suggestion.

      Having time-limited qualifying questions and comparing that performance to monthy or quarterly player's average seem like a good idea to identify cheaters. I would make those mandatory for the players that have qualified for quarterly playoff. Maybe even make them mandatory on a monthly basis for all the players that ranked in top 100 or 200 players. If you want to continue playing - take the test and prove that you are ok.
      Of course, if you expel someone that doesn't prevent them from registering a new account, but at least they would have to do so every month and because of that couldn't compete effectively.

      Gotta go back to work now. Those PLSQL lines won't write themselves :-)


    7. Great job, Steven. Please keep going.

    8. Some quick thoughts:

      I like the idea of three quizzes instead of 5 per week. This might entice more people to play, knowing the they aren't committed to 5 per week. Couple that with the ability to play at any time during the week may be even better.

      For those having issues with credit card, would paypal be an option? A lot of podcasters seem to offer the ability to have micropayments, so perhaps a nominal fee to help verify people's identity, without having to publish their real name?

    9. Wow, a long list of excellent questions :) :) :)
      It took me a while to elaborate my thoughts, and here they are,
      posted in several parts because of length limitations.

      Regarding the changes proposed:

      You are so right that it is a hard work to come up day by day with high level quizzes, though, 30 minutes or one hour (only!) for a quiz seems almost like a fantasy :)

      I am really working very hard on my own proposed quizzes, most of the times the idea of a quiz comes in a natural way, without seeking especially for it, but afterwards checking out all the
      different facets of the issue for being 100% precise and correct, elaborating good choices, explanations, a.s.o. is not a few work.

      I really think that much more players could have been involved in proposing quizzes for the competition, including some of those who usually do not rank in the highest positions,
      even if they might need sometimes more help from Steven and the reviewers team in finalizing their quizzes. I am very confident that we all can learn something from the experience of everyone.

      The idea of using past quizzes also can really be a good one, and, as Dalibor said in a previous post, it does not need to be definitely turned into a rigid 3+2 or 4+1 rule, it can be done variably as the need arises.
      I think this is preferable upon reducing the number of quizzes for each week.

      How important it really is for us to have a quiz every day ?
      The answers to this question will probably be extremely variable, and it is also not a few psychology involved ...
      Once you answer a quiz correctly, maybe you would be happy to rest for a day enjoying your accomplishment, but after one on which you were mistaken, you usually prefer to have another one as soon as possible for correcting yourself.

      With any number of quizzes, it will be a good idea to allow for an entire week to answer all the quizzes, but, if possible, to still allow you to receive your own result as soon as possible
      after taking the quiz, that is, even while the quiz is still open for the other players (similarly to the immediate feedback we receive by e-mail for the ToadWorld monthly quiz).

      I think that everybody will agree that the PL/SQL Challenge has matured a lot in these two years, many of today's quizzes are much more difficult that those in the first Playoffs.

      For encouraging more developers to play, it is probably important to maintain a reasonable balance between more difficult and more simple quizzes, to give everybody the feeling that he/she can be successful and that the competition is not reserved for turbo-fast and top-level gurus only.

      As about making some of the quizzes non-competitive: does this mean that only the topmost difficult quizzes will be considered competitive ? If so, then really only the super-gurus will be able to compete...
      I would not go for excluding completely the "short text" quizzes of the kind of "Which of the following
      statements are true regarding ...". As we can often see, such short quizzes are not always as easy as they seem, the percent of answering them correctly is not so much higher than for a longer quiz, I see sometimes people answering correctly a long code quiz and erring on a short TRUE/FALSE one, so, probably the knowledge testified by answering correctly such a short quiz does however have its value.

      The idea of awarding points for all the quiz-related activities is welcome, since it would be a nice recognition for one's entire work and commitment, though, I don't understand completely how those points will be used, I suppose they are not meant to be cumulated in any way with those of the competition, am I right ?

      The possibility of (re)taking quizzes for practicing, as well as having the quizzes available in PDF format are really valuable features, most welcome.

      ( to be continued )

    10. ( part 2 - continuation )

      Regarding the identity issue, I have never understood exactly why a player who is playing correctly
      ( and I am sure that the overwhelming majority do so ) would want to hide behind a nickname, instead of using his real name.
      I remember a statement on the entry page of the PL/SQL Challenge at its first version, welcoming the players by saying "You will be famous !".
      I am pretty sure that inside his inner conscience, everyone enjoys to be appreciated for what he does well, everyone desires "his small fame" to reward his hard work, it is really frustrating to always do things well without anybody ever knowing about it, and, unfortunately, it happens too often in real life, so why should things be the same in PL/SQL Challenge as well ?

      Together with this, I respect anyone's choice to remain anonymous if he wants, in what concerns the publication of his name on the site, but, however, I think that not publishing one's real name does not imply necessarily that the real name should remain unknown to the site back-end database as well.
      If knowing the real name of somebody is a must for lowering the possibility of cheating, I am for it.

      Now to my "less technical" thoughts ..

      What have you learned from the PL/SQL Challenge?
      That you should always pay the same attention to the apparently small details as to those that seem the most significant, that you should never pretend you know everything about a topic, even not about a beginner's one.

      What do you like best about it?
      Each time you revisit a topic, either by reading a book or by taking a quiz, there is always something additional to learn.
      And, if you make a mistake in a quiz, you can always hope to perform better in the next one.

      ( to be continued )

    11. ( part 3 - continued )

      Why don't your co-workers play now?
      all members of the team to participate?

      These were the most difficult questions to answer ...
      I really don't want to blame anyone, especially not those who are really working diligently day by day to do their work and be always ready in time ... but ... but ... but ...
      For playing, and times X 1000 for being a manager who ENCOURAGES HIS SUBORDINATES to play, you have to be crafted from a completely different material than, let's face it, most people that surround us are... You have TO LOVE doing things well and improve every day, you have to acknowledge that every day can bring along a new opportunity to learn something,
      to discover and enjoy the ability to deepen and master a certain piece of knowledge and, yes, why not ?, TO GAIN RECOGNITION for having done so, even without an immediate financial profit for your organization or for yourself...
      I don't speak of course in everybody's name, but most managers are still very far from knowing and appreciating the value of learning as a central point of one's activity, because they usually don't learn by themselves, there is a common tacit acceptance of the fact that managers have only management responsibilities, and therefore are exempted from having also knowledge ...
      For some reason, knowledge is supposed to be "built in" and "born", and, unfortunately, many people without a high knowledge level succeed in being promoted to managerial positions, and this has an impact if not directly on the accomplishment of the daily tasks (by others), but for sure on the light in which knowledge, quality, dedication and other such abstract notions are looked at or, better say, overlooked.

      In addition, but not less important, for playing you should be willing to work hard just for the sake of success by itself, just the same as one cannot be a true artist if he does not love art for the sake of art, and instead is doing it just for money.

      You mentioned the musical education as a good foundation for becoming a successful software developer. Yes, there is much truth in this, as one who has done both, I can also witness
      it, though I don't state that I am definitely a successful developer ...
      I think that probably the same intrinsic qualities and skills are required for both these activities and a few others, mathematics and music, foreign languages and programming languages have always gone well together, BUT, along with any native skills, having Steven Feuerstein as a mentor of one's professional development allows for different results to be expected than from somebody who should always do everything alone, cope with any difficulties always alone.

      In this context, I cannot but express again my gratitude for the opportunity offered to us through the PL/SQL Challenge to share a part of your mentorship, to find here the support and advice that a worker in a low hierarchical position is completely entitled to expect and find at his managers and HE DOES NOT, as well as the recognition that he is equally entitled to receive for his daily endeavors, dedication, results and successful work from the same managers and HE DOES NOT.

      This is what I love PL/SQL Challenge for, and, in spite of the daily pressure you put on yourself if you really want to be always successful, it has become a sine-qua-non of my professional life, at this point hard to imagine without it :) :)

      Thanks again and again for the excellent work, for being with us and, for some of us, offering the almost only chance for accomplishment and recognition.

      Best Regards,

    12. Coming to this conversation late & have only started taking quizzes, so discount this appropriately, but I suggest the Will Shortz (New York Times crossword puzzle) model:

      1) Be (primarily) the editor of the quiz. I suspect lots of folks will enjoy the challenge of creating great quizzes, and ranking their difficulty. You then can choose, offer constructive revisions, and still write your own (without having to write as many).

      2) A suggestion for getting more to play: stagger the difficulty, Mondays being the easiest up through Fridays being the hardest. Participants can play whichever ones they want (and possibly see their scores broken out by day/difficulty). I think this will encourage new participants to start "playing the Mondays" and then as they gain confidence they'll start checking out the Tuesdays onward.
      Some quiz composers will be able to write easy and medium difficulty questions at first, and then possibly graduate to harder questions as they gain experience.

      Again, I'm not familiar enough with the Challenge to know the satisfying aspects of the Challenge that these suggestions will upset, but just throwing into the suggestion pool.

    13. 1. "Be (primarily) the editor of the quiz" - that's a lovely idea, but at last right now I don't have nearly enough submissions from outside my brain to support the daily quiz. Any ideas on how to encourage more submissions?

      2. Progressive difficulty - I am not sure how I feel about this. It could just lead to many fewer players at the end of the week. :-( Generally, I try to do beginner or intermediate with limited code on Mondays and Fridays, and push the more advanced quizzes into the middle of the week. Rationale: slow start to week on Monday and winding down to weekend on Friday (for most of us).