How to Set Up Hacks and Projects

One of the key components for a successful hack week is to guide participants through the process of setting up and working on hacks. The different hack weeks have different approaches to this: for example, Astro Hack Week tends to provide less structure that allows for more free-form work, while Geo Hack Week offers a more structured approach, where project teams stay together the entire week and projects have designated Project Leads and Data Science Leads.

A Note on the terminology of "hacking"

In recent years, hackathons have become popular in the tech industry and beyond. They often span anywhere between 24 to 48 hours, where participants are expected to work continuously with little to no sleep on solutions to a specific problem. They often involve a competition for prize money (or equivalent) for the best solution, and companies are known to use them as recruiting events.

While popular among groups, many people have rightfully criticized that model on the grounds of promoting an unhealthy and exclusionary culture, where coding is prioritized over physical health and there is tacit acceptance that only those can participate who can devote a full 24 or 48 hours to the hackathon (i.e. have for example no childcare responsibilities, or no medical reasons that prevent them from sitting in front of a computer for long periods of time). In addition, women, non-binary people and members of other underrepresented groups in science and the technology sector have traditionally been underrepresented at hackathons, and many have made an explicit choice not to attend any following negative experiences, some of which are summarized in this blog post.

As organizers of events called "hack weeks", we are generally concerned that the name of the event might prevent some researchers to not apply in the first place, and that this might be especially true for researchers from demographics that have traditionally been excluded (explicitly or implicitly) from hackathons. At Astro Hack Week, the organizing committee has a discussion every year whether to rename the event. For now, our decision has been to try and reclaim the term "hacking" and put it into a more positive context: one where we aim to make the event inclusive and welcoming, and actively counteract some of the negative dynamics often present in the traditional hackathon model. Key differences between our hack weeks and the traditional hackathon model are that we strive to organize them during regular business hours to accommodate participants with care responsibilities, offer care grants, emphasize the problem-solving and community-centric (rather than competitive) nature of our events. However, we continue to have this discussion, and may come to a different conclusion in the future.

It is also worth noting that hackathon organizers are increasingly aware of the problems with the hackathon model, and are working to counter-act them by designing events that focus on communities of colour, emphasize empathy and an experience-centric design, and provide e.g. inclusive design guides.

What is a Hack

The terms "hack" and "hacking" can lead to some confusion, especially among people outside the data science, tech and open source communities, where "hacking" is usually synonymous with illegally gaining entry to a computer system.

This is not what we mean by "hack". In our definition, a hack is a small project with a clear goal, which should be completed by the time initially allocated to it. Because the problems that researchers think about tend to be complex, defining such a project often requires significant simplification, or taking a quick approach to solving that problem. The idea of a hackathon, in our definition, is to foster the idea of hacking as a fun, interactive and welcoming environment to explore and experiment with new ideas, concepts and methods.

Because hacks are time-bounded, they should be results-driven, which means it is important for those proposing a hack to plan a little in advance. At the same time, results-driven does not necessarily mean successful: in our hack weeks we always aim to foster an environment where a negative result is celebrated equally as a result that helps the community learn about how not to approach a problem.

In our hack weeks, we aim to foster a sense of joy and learning through experimentation, and hacks are often prototypes or initial explorations that may lead to larger and longer-term projects, rather than one-off solutions to a particular challenge.

Different hack weeks have a somewhat different outlook on what kinds of projects specifically are "hacks": for example, Geo Hack Week explicitly focuses on outcomes that involve computer code, while Astro Hack Week considers a wider range of projects as hacks: these can be policy documents and white papers, a new logo for a group or software project, or even sowing projects, to name but a few examples. In addition, Astro Hack Week runs a community hack day as part of Astro Hack Week every year: this day is set aside explicitly for participants of Astro Hack Week to work on projects that benefit the astronomy community as a whole.

Setting Up Projects

Many participants may have an idea for a hack, but may not have participated in a hack week before, and thus will appreciate guidance on how to set up a functional project, how to define time-bounded outcomes and milestones. At Astro Hack Week, we use a Hack Template to guide participants through the process of defining hacks. GeoHackWeek asks the teams to designate a team lead and data science lead, and start a GitHub repository with important project information in its README. While at Astro Hack Week researchers ideally come with a project they have thought of in terms of the provided template, Geo Hack Week allows teams to form and then guides the teams through a structure to clarify the key problem as well as the most promising approaches to solving that problem. In both cases, guidance to participants includes defining the key problem in terms of why it is important to solve that particular problem, and to write down the specific questions that are to be asked. In addition, we ask participants to identify the proposed methods and tools used to solve it, as well as what skills and knowledge from the participants might be helpful to achieve the goal. Organizers should encourage participants proposing projects to think carefully about how early-stage learners can meaningfully contribute to their projects. Our hack weeks often include learners with little to no technical knowledge, which puts them at risk of exclusion in an environment dominated by researchers experienced in writing code and developing new and advanced methods. In this context, it can also be helpful to encourage projects that don't directly require advanced technical skills, especially if they are proposed by those participants themselves. For example, Astro Hack Week has seen projects e.g. where a group of learners taught themselves a particular technical skill through generally available tutorials, then wrote an astronomy-themed tutorial on that skill as part of their hack. Similarly, early-career participants at Astro Hack Week have hacked for example on knowledge resources for graduate school applications and creative projects like designing the logo for a software package.

Checking in with the Team

For organizers, it is important to periodically check in with the teams. This can happen in a structured way (e.g. Geo Hack Week has a formal check-in with guided activities on Day 3), or informally (Astro Hack Week has one or more facilitators move through the room, observe the team work process and step in with advice or requests as needed). It is especially important to look out for participants who are very junior, whose potential to meaningfully contribute might get lost as more experienced team members rapidly prototype complex solutions. Including early-stage learners and ensuring that they can meaningfully contribute to the projects (for example by trying out a new method and finding bugs, writing a tutorial for other early-stage learners, etc.) and that their contributions are valued fully and equally by the team is an important facilitation task during project work.