Sunday, April 15, 2012

Escape from /dev/null

Everything began around summer last year, where I got the nth request from a company if I knew a good programmer who they could hire.

I generally think that everyone should start their own companies, to get as much control over their lives and income as possible, but what have become more clear over time is that most people prefer the illusory safety of an employment over the guaranteed ambiguity of self-reliance.

Even so, I wasn't really comfortable just handing over people or acquaintances to companies I sometimes knew very little about.

Getting paid almost made things worse, and I realized I had a problem with the employment process itself (not getting paid as such:).

How about instead of getting contacted by a person guaranteed not to be a programmer and who happily confuse Java and JavaScript, desperately trying to get you to come to an interview, one could create a meeting-place where the actual programmers of a sponsoring company meet and interact with other developers whom they might or might not be interested in hiring now, or in the future?

The idea of the Escape from /dev/null was born. Yes, the name is cheesy, no it has little or nothing to do with anything at all. I like it anyway :)

I wanted to create a game, where teams of players met in a ballroom where they got small programming challenges which got increasingly harder over time.

Each cleared challenge let them move one step ahead on a public game-board, projected on a screen.




The benefits for a sponsoring company are obvious;
  • The competition would be interesting and fun enough in itself, being an actual programmers competition where one win prizes and not a recruitment event.
  • Instead of letting a programmer (who have lots of other stuff on his or her plate) spending time on a first phone-screen, writing up the results of that and then get three or four programmers to dedicate another half-day each for on-site interviewing under what I would call 'hostile' condition, they dedicate one whole day to interact with other programmers under playful conditions which still show the extent of their skills.
  • The marketing emphasize the recurring event, not the sponsor, in the same way that a recurring conference does, thus reaching out to developers who would not at first consider the sponsoring company as an employer but which after getting to know and work with the programmers of the sponsor during a whole day might think otherwise afterwards.

Unlike a Hackathon, competitive or otherwise, the process of a /dev/null event is as follows:

Each team (this time we had two-person teams consisting of one front-end and one back-end person) has a similar starting point on a tactical map.

The map represents a 'node' in the AI system of an alien artifact which has captured the spaceship where the attendees reside as crew.

However, they are all trained system countermeasures specialists and know how to hack alien software.  Lucky for them, eh? The only way forward is to reach the central node before the attack drones outside manages to breach the hull, by fooling the AI using ancient programming techniques known as 'JavaScript' and 'Python'.

When the team chose their target node, they get a programming challenge. When they are done with the challenge they interact with the judges, who either send them back again or accepts their solution. They are then moved forward to their designated node and are free to choose a new destination.

Certain nodes also contain artifacts, which can bestow powers onto the team or just prizes. This team all artifacts was prizes but I have some ideas in that area for future events.

Since my co-organizer/Main sponsor this time was Spotify, we had a musically themed set of prizes.

The only thing we gave away at the start was that the team that managed to reach the final node first would get one SONOS Play 3 music system each. SONOS was also a sponsor of the competition (along with Brooklyn Lager).

The other prizes were kept secret until a team managed to win them, but ranged from concert tickets, custom-made Spotify headphones to decal and goodies Spotify bags.

I had great luck in getting my friend Robert Hancock, Pythonista extraordinaire to both create the Python-specific challenges for the event, bot also actually come to Stockholm and speak at the beginning of the event!

Always entertaining, full of stories and good humor, Bob did an excellent shortened version of his recent PyCon talk "Optimizing Performance with parallelism and Concurrency", which I felt really bad for giving such time-constraints.

Even for a non-Python programmer, it contained not only nuggets but heaps of gold, with lots of computer and systems history thrown in for good measures. Good times!

I had an audacious idea to provide each attendee and team member with his or her own version of the game-board and interface instead of just moving around the pieces, showing off my dojox.gfx animation skills in the process.

Since I had been late in finishing that part of the system, the fairly complex workflow needed do ask for a challenge, receive a unique (not the same one again, natch!:) challenge, send back a response, send it to one of the judges, wait for approval and finally get a success and automatic move to next node.. only almost worked.

After trying it for a couple of hours, we decided to go with the original plan and just print the challenges, which in the end led to much more interaction between attendees and judges. Everyone could still log on to the system and get team movement, map changes, et.c. in beautiful websocket realtime, but the workflow needs some rehauling.

Probably I'll set up a free online version of the system for smoke-testing when I have rewritten that part of the back-end.
All-in-all everyone was very elated and had a great time. I think that my plan with small, specific programming challenges that could be done on 15-60 minutes was indeed a good one, and let to a good flow and friendly competition between teams.

The Spotify judges were very professional and managed to adapt to changing game conditions without dropping a beat.

Having Rikard, André and Jonas from Spotify there as HR groovemasters helped a lot, playlisting the venue (Debaser Medis) to a good programming mood as well as making sure everything moved smoothly. Big thanks!!

The next planned /dev/null will happen in Amsterdam in the September/October timeframe, sponsor secret for the time being :)

Would you or your company want to be a sponsor for an Escape for /dev/null event? Contact me at psvensson@gmail.com and we'll work something out. The system itself will be available for licensing/whiteboxing when done, before summer.

If you are a recruiting organization that would like to offer /dev/null to your customers, there's a franchising option too :)


I leave you with an action picture of team C07, the jaw-dropping trailblazer winners of the game this time. Me and the Spotify judges threw everything we had at them, but they just barged through challenge after challenge like they were thin paper (or in the end, fairly chunky carton, but still..). Kudos!





No comments: