Ramblings on RailsRumble

Just when you think you are “too old for this shit” (ref. Lethal Weapon), there comes an opportunity that gets you back in action. In my case, it was Rails Rumble!!

When I told my folks at home – “I’m going to be a 19 year old again and do a 48 hour coding stint” – the retort I got was “The only thing did for 48 hours when you were 19, was a drinking binge!”

When RailsRumble was announced this year – it was a ‘recharge’ for us at Josh! We had floated this idea at our weekly Open Source Friday meetup and we got a great response. We had 3 teams from Josh that participated in Rails Rumble and 1 team that was a combination of developers from the meetup.

We started at 5.30am India time on Saturday, 13th Oct. and closed for the first day at 1am in the next morning. We were all back at 8am and stuck around till 5am on Monday morning. We clocked the entire 48 hours in-and-out of office and it was great that all 4 teams managed to complete their work.

These were the 4 entries that were in full swing at Josh office!

Make My Event
Make My Event
Toilet Warrior
Toilet Warrior
Chwink
Chwink
KuchBhi
KuchBhi

So, what did we learn from all this?

  • Its never to late for this shit 🙂
  • 48 hours is a VERY VERY long time.
  • Given the right combination of designers and developers, it can indeed be a lethal weapon!
  • Planning is everything. If you have your mock layouts (in Balsamiq or even as crude as  a scanned paper layout) it helps. In case you are wondering, I did have a crude layout on paper – which we scanned for reference!
Chwink Layout
  • Beer helps focus when you are going for a long haul – not too much of course 😉
Rails Rumble beer and code
Beer & Code

OK – here is also some “Technical Learning”

  • Do not ignore deployments. When we started our work, one person from each team was doing just the deployment setup – using mina or capistrano etc. RailsRumble team was kind enough to provide different stacks for auto-install and configure but you sill need to deploy your code! The last thing you want is a working application on your local machines but the linode was not setup!
  • Plan the tests and Test the Plan.  We first set out a plan for the scope of the work and one of the team members was entrusted with writing tests – even if they were pending or failing. That helped us keep our focus in what we have to build – enthusiastic developers sometimes deviate from the plan. Since the time is short, you cannot do any ‘project management’ — so the tests keep the focus!
  • Work together in pairs or all sitting together. Programming in pairs (not Pair programming) helps tremendously on such short burst work. Not only do you have someone sitting around checking intermittently at what is being done – it ensures no rework and focus on the project.
  • Collect and keep all assets including seed data. Collect and keep an JavaScript modules, the list of gems and their versions, free available images before hand. Ensure that all packages if any are pre-installed on your machines. Ensure you have the seed data collected because no site looks good without seeded data! Ensure you have rvm (or rbenv) files for your project configured.
  • Choose your team wisely. Ensure you have a designer on your team and ensure you are comfortable with all your team members.
  • Plan for contingency. Always keep a Plan B in mind. There could be someone falling ill, emergencies coming in etc. scope your project.
  • Read the competition Rules! You would be surprised how often we miss out on the little things. There were specific instructions on tagging your code and completing the project from the RailsRumble dashboard. I wonder how many teams completed their work and forgot to finish!

Well, this was an extremely refreshing experience for all of us – and we were really proud of the work we did. The great part is that these projects are not dying out — they were just the beginning kick-starts for cool ideas. These are being implemented and the work on them will continue!

Cheers!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.