Running Our First Internal Hack Day

April 03, 2018 | Emily Fiennes & Marc G Gauthier | 5-minute read

Trying out new technologies, exploring new ideas, investigating potential solutions: these are all fundamental parts of the problem-solving element of a developer’s work. As with any form of creative work, it’s important to keep motivated and one step ahead of ever-changing technological advancements. This encourages a fresh approach, and above all, boosts the enjoyment we take from our work.

That’s why we’ve started holding regular hack days here at Drivy. Every few months, the tech, product and data teams can get together and pool their skills, experience and ideas. The brief? To plan and implement an Drivy-related MVP that could improve the product, but which you wouldn’t usually get the chance to explore or implement in your day-to-day work.

Format

We felt strongly that, if our hack days were to be a sustainable project,  it was important to get the format right. This meant setting aside a specific day within our normal working week. Many team members with commitments outside of work wouldn’t have been able to show up, had we held it at the weekend. Furthermore, the direct benefits of the exercise - team cohesion, innovation, boosting motivation - could ultimately be invested back into our productivity and creativity in the long run.   

Keeping focus

We decided to venture out of Drivy HQ, so as to focus purely on coding and avoid any unwanted interruptions. This made a nice change of pace from what can be a fast-moving and sometimes intense working environment. Plus, the change of scene made it feel different to a usual working day, and got those creative juices flowing.

Because that’s exactly what it was - another working day, just not at the office.

Working in a different setup

But there was one problem: we didn’t want to hold the hack day at the weekend, but we also couldn’t desert the office en masse and have no one available to respond to potential production issues either. We thus split the team, with each half hacking on different days, one week apart. Sure, it might have been better if the entire team had been present but this was a good middle ground that actually afforded a certain intimacy and didn’t disturb the usual operations of the website.

One ground rule was that all hackers would quit Slack. If something really critical happened in production, we would revert to a good old-fashioned phone call and a developer would stop hacking in order to address the issue. Thankfully it didn’t come to that, but it’s always reassuring to have a back-up plan.

Teams and projects

We decided on teams and projects beforehand, so were able to get straight down to business and fully capitalise on the 1-day timeframe.

Hack day ideas

Starting the discussion early also gave us plenty of time to improve our ideas and debate the most interesting, and most feasible, projects to pursue.

Quality time

Some members of our tech team work remotely, but they all came to Paris for the hack day. This was a great chance for everyone to collaborate with people they might not otherwise get to work with. There’s also something to be said for the team-building potential of a hack day in a wider sense. For one day, we collectively ventured outside of our zones of comfort, in terms of the projects we chose, the speed of delivery and the technologies used.

In that context, trust and communication between teammates becomes key to decision-making, and ultimately the experience can make for stronger, more cohesive teams. As the Drivy team continues to grow, and collaboration becomes more squad-oriented, team cohesion and communication will be increasingly important.

Project time!

With 17 developers, there were many projects. Some warrant a blog post in their own right, but in the meantime here is a quick overview:

  • Rebuild the search using ReactJS, Flux and styled components
  • Integrate Google Assistant to book cars using Google Home
  • Pay on Android using credit cards NFC capabilities
  • Build a Slack chatbot to book meeting rooms
  • Search and book cars with Alexa
  • Detect licence plates and more based on user-uploaded pictures
  • Try out a new way of doing caching
  • Use machine learning to better understand user behaviour with our new Instant Booking feature
  • Use iOS 11’s ARKit to locate Drivy cars in the street
  • Add a chat system to help users encountering problems
  • Reliably send SMS using Gammu, a sim card and a Raspberry Pi

Here’s a bonus extract of the demo day presentation for the Alexa project by Howard.

Crunch time

Once the two hack days were completed, we held a Demo Day together back at Drivy HQ. It lasted for an hour, where each group had the opportunity to present their objectives, work process and results.

We recorded the demo and shared it with the rest of the company, as many people were curious to learn about what we built. Interest had been sparked by the endless potential for future developments to the product that could be imagined, and it was cool to transcend any tech/non-tech frontiers in this way. Plus the positive feedback further proved the real sense of ownership and investment that all team members have here at Drivy.

Hack day demo at Drivy

With our first hack day successfully under our belt, we’re already eagerly anticipating the next. The day was a valuable opportunity to collaborate with different teammates, to explore novel ideas in a new context and to disrupt our usual working practices. After all, it’s through moving fast and breaking a few things along the way that you can come up with novel solutions to problems you maybe didn’t even know existed.

👍  Like this post? Join Drivy's engineering team! View openings