How to run a hackday, how to prepare ?

  • Simple and consistent documentation is a good tool to have, always pays off - we resolved this by creating the Adopt OpenJDK Getting Started Kit - http://bit.ly/1NUkPWw (our adoption program)
  • Have goals for the attendees (at as many levels as possible), we resolved it by categorising users into three main categories and other misc ones, see http://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/content/en/how-to-navigate/how-to-navigate-and-make-progress.html (Q & A styled documents works very well). Goals mean: what they will be doing for the three hours, and depending on their expertise what they can be doing.
  • If you need to distribute binaries to enable developers to setup an environment, make them download and install them a week or two in advance (offsite), let them know if they do this, they will help themselves and others as well, to be respectful and mindful of other people's time.
  • Also carry the binaries to distribute on USB sticks or at least on a couple of portable HDD drives. In case its a complicated environment, maybe you can make it available via VM images or Docker Images that they can copy and load at the site. Or equivalent scripts for the more advanced developers to run them at home.
  • One thing we learnt from experience make sure your distributables are accessible for all three platforms (Windows, Linux and MacOS), we resolved it by formatting our portable into three types of partitions and also formatted a number of USB sticks in the same fashion. If you are using USB sticks get the fast ones USB 3.0 with a capacity of at least 32GB.
  • Alternatively it would be to start an internal fast file server with binaries and instructions on it (this can go either way but it an alternative), from where everyone can connect and download, while this is happening.
  • Participants can also go around and distribute the binaries to speed up the process.
  • Preparation is the "key", with large number of people many things can go wrong but the better prepared you are the better results you achieve with minimal failures
  • On the day pair up the experienced developers with the less experienced ones - you will need to ask and find out at that time
  • Also if you have one or more developers who can't get the setup to work - pair them up with others who have had it working, find out who has taken the time to set it up at home
  • Have something ready beforehand for those who can't attend or those who couldn't get their setup in time or couldn't get the environment to work - our adoption guide is good example of it.
  • Think of what you can do to cater to developers in offline mode - wifi may not work or internet may go down or other reasons, can you setup your own internal network in that case, this can be a fall-back plan ?
  • Think of everything that can go wrong and prioritise them and see what you can resolve, what you cannot, it is better to know these things in advance that you can give people instructions beforehand.
  • Either get on an IRC channel or create a google doc to gather feedback from the developers (or both) - this will help all those who are attending support each other.
  • All these are ideas we picked up when running hackdays for Adopt OpenJDK, you don't have to do all of these but be prepared. Many a times developers come unprepared, don't carry machines that they can work on, and then you to manage these cases so if you are prepared, make a flow diagram or mind map of all the things mentioned above and see which ones you can help resolve, have alternatives for others that you can't resolve.
  • You don't have to do them all but just the ones you think you can use, preparation is the key.

results matching ""

    No results matching ""