Tuesday, 16 October 2012

Organizing JCMA Workshop - dos and donts

We've recently organized and lead Java Coder's Modern Arsenal Workshop. It was our first such event. We've commited several mistakes and had some cool ideas, all making valuable lesson. We want to share our experience with you.
The workshop lasted whole working week, so from everyday from Monday to Friday we met at same hour - 5pm. We talked about JavaEE, CDI, Seam3, RestEasy and Arquillian. The topics were quite high-tech and the audience was mainly students of 3rd-4th year of IT so the experience gap was gigantic.
Preparations started about 1 month before the event. We've ordered poster at graphic designer, who delivered it in about 1 week. Contacting school's officials also started early. Three days before the event we've tested the room, beamer, etc.
First day we've had 15 people and through the rest of week only 5 people attended.

Amaze them

Open workshops, where there are people of different skills should not star with diving into details and fancy under the hood stuff. First present how fast things can be achieved and even before that show them final effect that you want to achieve.

Git history rox

One of things that turned out to be best ideas was posting the code on GitHub and not only the final version but also with many intermediary commits in the history. Thanks to that people who got lost or couldn't make it in time were able to checkout next commit from history and focus on new things. It is also great for speaker who's coding live. He can see diffs from GitHub on one screen and code on the other. It helps very much.

The poster

We should have put the schedule so that people would see that workshop is a whole week event, not just a single day.

Advertise early

One week is not enough! To lunch Facebook event takes minutes, but for people to spread the word takes much more. We gave people only one week, because we wanted the event to start ASAP but on the other hand the academic year hadn't started yet so it was no way to reach people earlier.

Step by step instructions

Duration of 2 hours turned out to be not enough, we needed 3 hours, but probably if we'd prepared more detailed manuals we could make it within 2 hours. If you want to see if your instructions are detailed enough hand it to your Granny and see if she can follow and rule the terminal.

Commits as small as possible

It's so great for unskilled people to put single annotation, compile and run the code and see the change, even very small one, but a working one.

Don't focus on week people

When you see someone who doesn't understand that after "git clone" they have to "cd checkedOutRepo" you feel sorry for them and want to help. Mistake! It will take too much time. It's better to focus on average people and those more advanced. For newbies prepare step-by-step instructions.

Setup before letting people in

Start the beamer, lunch all apps you need for presentation. For start it's good to show on the screen workshop's poster or logo. Now let audience in. As they will start their machines take the time to introduce todays topic, summarize yesterday's achievement. This will allow people who just popped in to realize in which point in agenda you all are.
It looks poor when you let people in and start setting up your laptop and beamer. This may take too much time and you may hit some unpredicted problems.