A summary of an internal hackathon at Aiven
For one day in April, while we had almost everyone together at our company off-site event, Aiveneers in technical functions joined an internal hackathon. With around 50% of the participants having been at the company less than 6 months, the focus was on making new connections first, contributing to open source (a close) second.
Breaking the ice with LEGO®
We started the day with a LEGO® challenge, designed as an analogy for developing and maintaining software via the use of LEGO® brick building exercises.
Teams of 4-5 people were required to build a cafe or a house with specific requirements in 15 minutes. At the end of 15 minutes, a number of show of hands style questions were asked around organization, planning and execution. Teams were then asked to relocate to the next table to take over an existing build and continue it with a modified set of requirements.
Teams did not know beforehand that they would be swapping, causing much chaos and head scratching, but ultimately being a great analogy for inheriting another teams existing codebase.
Some patterns emerged:
- Not all teams figured out that they could collaborate with their sister team, ask them questions, or trade LEGO® pieces.
- While some teams planned and strategized, others just straight got to building. The results weren’t better one way or another, but team members from organized groups did feel better about the process and end result.
- Some groups and individuals sorted LEGO® bricks by color, size and/or function, making friends in their sister team when they took over the project.
- Some people get really competitive over LEGO®!
For a more elaborate summary of the icebreaker exercise, as well as how to run it yourself, head over to Elmar’s blog.
In preparation for the day, we identified project “champions” - individuals at Aiven who maintain open source projects, or are core contributors to a project. We also had groups working on more “high-level” topics, like creating a database of disposable email providers, discussing security practices, and updating documentation with appropriate trademark notices. That means we had tasks for non-coders as well.
Each champion created a project description, and recorded a short video answering the following questions:
- What is the project about, what does it solve / why is it important?
- What contributions are you looking for / what are you hoping to get out of DevDay?
- How can participants best prepare (pre-reading, setting up dev environment, downloading dependencies, …)
Champions did some preparation work, triaging and labeling issues, and generally readying their projects for contributors. Our assumption is that the participating open source projects gained a lot of insight (new eyes looking at your project), and one or two longer-term contributors who wouldn’t have had the chance to discover the project in their day-to-day work.
Champions and (even some remote) participants collaborated in their project’s Slack channels during the event.
What we built
A rough estimate is 57 net new PRs merged, 30 existing PRs reviewed and merged, numerous issues created, considered, and closed, many new friendships made.
Here's a selection of the public projects that participated:
- Guardian for Apache Kafka, with Matthew de Detrich (Senior Software Engineer - OSPO). Guardian is a disaster recovery tool for Apache Kafka, designed solely for backing up actively running Kafka clusters onto persistent storage's (currently AWS S3).
- Several Kafka connectors, with Josep Prat (Open Source Engineering Manager), like HTTP sink, Common module, OpenSearch, transformations, JDBC sink and source, and GCS sink.
- Karapace, with Augusto Hack (Senior Software Engineer), an open-source implementation of Kafka REST and Schema Registry.
- The Metadata Parser, with Francesco Tisiot (Developer Advocate). The metadata parser helps connect the dots of complex data projects. Parses the services metadata, and stores the information as a graph, composed by nodes and edges, showing how data is connected. The project was released just after the event.
- Prometheus exporter plugin for OpenSearch, which exposes many OpenSearch metrics in Prometheus format, with Lukáš Vlček (Staff Software Engineer - OSPO).
- Rohmu, with Kevin Michel (Staff Software Engineer) & Ronan Dunklau (Senior Software Engineer). Rohmu is a Python library for building backup tools for databases. Rohmu is used in various backup tools such as PGHoard for PostgreSQL, MyHoard for MySQL and Astacus for M3 and ClickHouse and other databases. The team released v1.0 and 1.0.1 at the event. And the project now has an adorable logo.
- Fedora (packaging), with Paul Wouters (Senior Software Engineer Security).
Between all of these plus quite a few internal projects, there were tasks for everyone, coders or not, and teams were built that crossed the usual orgchart lines.
Many happy faces, high fives, 10/10 would do again!
Photographs were taken by Uri Meron, our official photographer for the off-site event.
LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this site