Running a hackathon is a great opportunity for team-building and collaboration.
You put your developers in a virtual or physical room together, set their minds on a problem, and you’ll be surprised by what they come up with. Who knows, maybe they’ll even leave a “ding in the universe” as Steve Jobs once did.
Just look at Carousell and Easytaxi, two successful startups that were born in hackathons, and which raised $70+ million in funding. Another example is GroupMe, a messaging app that was bought by Skype for over $50 million.
In this blog post, I’ll explore what a hackathon is and provide some expert advice for engineering managers on how to successfully run a hackathon at your company.
What Is a Hackathon?
Remember, you’re not hacking into the FBI or stealing your competitor’s secrets. A hackathon is a social coding event where participants come together for an intense and focused period of time, typically ranging from a few hours to a few days, to collaborate on innovative projects, develop prototypes, or solve specific challenges.
Because technology is at the heart of economic growth and defines us as a civilization, the underlying idea of a hackathon is that this progress can be accomplished through collaborative efforts in writing code.
What Are the Benefits of Running a Hackathon?
Innovation and Creativity
With so many developers with diverse skill sets and backgrounds actively participating in a hackathon, it’s no surprise that such events foster an environment of innovation and creativity.
Participants in hackathons explore new ideas and technologies, and the element of time creates a sense of pressure that always leads to interesting solutions.
If a hackathon fails to encourage out-of-the-box thinking and push participants beyond their limits, it's hard to imagine what else could.
Collaboration and Team Building
Hackathons bring developers from different teams or departments together. Not only does this promote cross-functional collaboration and teamwork, but it also helps build relationships. A big plus is that communication improves along with a sense of camaraderie among participants.
Imagine a situation where developers could get super fast validation and testing of concepts, and then getting feedback, and then iterating on designs at an early stage. That’s what a hackathon does.
It also provides a platform for tackling challenges and solving problems in a time-constrained setting. And this often leads to innovative breakthroughs.
Skills Development and Learning Opportunities
Hackathons offer valuable learning opportunities, allowing participants to acquire new skills, explore emerging technologies, and gain hands-on experience.
It promotes continuous learning and personal development among participants. There is no other place you could learn so much in such a short time.
Employee Engagement and Motivation
Engaging developers in hackathons demonstrates that their creative input and ideas are valued by the company.
It boosts morale, motivation, and job satisfaction, leading to higher levels of engagement.
Product and Process Improvement
Hackathons often result in the development of functional prototypes or proof-of-concept projects.
These outcomes can lead to improvements in existing products, and processes, or even the development of new offerings for the company.
Recruitment and Employer Branding
Hackathons provide an opportunity to showcase your company's culture, values, and technical prowess to the world via LinkedIn. Mind you, this requires the social media aspect to be covered throughout the event and after.
Hackathons can also act as platforms for recruitment, attracting talented individuals who resonate with your company's mission and vision.
Running hackathons signals to developers that the company encourages creativity, supports their growth, and provides opportunities for personal and professional development. This can contribute to higher employee retention rates, which is a problem that many EMs are struggling with nowadays.
Networking and Collaboration Opportunities
Hackathons often involve participants from different companies or even the wider tech community. It creates networking opportunities and fosters collaboration beyond the company's boundaries, enabling the exchange of ideas and expertise.
What Are the Different Types of Hackathons?
Social Impact Hackathon
These hackathons concentrate on solving social or environmental problems. Participants work on projects that aim to make a positive impact on society, such as addressing climate change, improving healthcare access, or tackling poverty.
One example is the Coding for Community, where they organize hackathons to create an impact on food waste, technology refurbishment, smart and green energy, among many other areas.
Educational hackathons focus on learning and skill development. Participants engage in workshops, coding challenges, and collaborative projects to enhance their technical abilities, explore new technologies, and broaden their knowledge.
An example of this is EduHack, whose goal is to change education with “the right tools, channels, and know-how.”
Virtual hackathons take place entirely online. With the growth of new collaboration technology, virtual hackathons offer many advantages compared to in-person hackathons. One of them is that they break geographical barriers, allowing participants to contribute from all over the world. No travel needed, virtual hackathons also foster diverse perspectives and attract a wider talent pool.
Flexible scheduling is an advantage as they accommodate participants' time zones and commitments. They also allow for real-time collaboration, streamlined communication, and efficient sharing of resources and code.
Another big thing is cost: virtual hackathons reduce expenses related to venue rental and logistics. The digital environment also allows for data analytics and tracking, enabling organizers to gain insights and enhance future events.
These hackathons target specific industries or domains, such as healthcare, finance, or education. Participants work on challenges and projects specific to the industry, aiming to create innovative solutions or advancements relevant to that sector.
Industry-specific hackathons are very competitive as they serve as a powerful means for companies within that sector to cultivate ideas with the hopes of propelling their technology to greater heights.
With many people working on a problem, companies can accelerate their progress, minimize time-to-market, and gain a competitive edge in the race for innovation.
In an internal hackathon, teammates collaborate to develop new products, improve existing processes, or tackle internal challenges. It promotes cross-departmental collaboration and encourages innovation within the company.
Participants include product managers, designers, and non-technical people like those in HR or Marketing.
Internal hackathons are not as competitive compared to external ones. Companies will often use them to improve team building, skills sharing, or to create new a feature.
Notable examples of features created during internal hackathons are Google Maps, Slackbot, LinkedIn’s “Intro” and Twitter’s “Retweet.”
Open hackathons welcome participants from diverse backgrounds, including students, professionals, and enthusiasts.
These events often foster a vibrant and inclusive environment, encouraging networking, knowledge sharing, and collaboration.
Here’s a list of upcoming open hackathon events published by Open Hackathon.
The stakes are astronomically high for competitive hackathons as teams or individuals compete against one another to create the best solution or achieve specific goals within a 24-48 hour time frame.
These hackathons have participants from around the world and often feature prizes, judging panels of some big names in the IT world, and the opportunity to showcase the most innovative and impactful projects.
One example is the NASA International Space Apps Challenge, considered The "World's Largest Hackathon."
What Do Engineers Need to Participate in a Hackathon?
Engineers should be armed with their computers and an open mind, nothing more! Hackathons cater to a diverse range of participants, from elite code crunchers to beginners.
Here are some things beginner coders might be tasked with at a hackathon:
- Learning and Observing: Beginners can take the opportunity to learn from more experienced participants, observe their coding techniques, and gain insights into the development process.
- Ideation and Brainstorming: Beginners can contribute to the team's idea-generation process, offering fresh perspectives and creative suggestions.
- Research and Documentation: They can assist in researching technologies, frameworks, or APIs relevant to the project idea and help document the team's progress.
- User Interface (UI) Design: Beginners can contribute by creating simple user interfaces, wireframes, or mockups using drag-and-drop tools or basic HTML/CSS.
Here are some things experienced coders might be tasked with at a hackathon:
- Coding and Development: Experienced coders can take the lead in implementing the core functionality of the project, writing clean and efficient code, and integrating various components.
- Architecture and System Design: They can contribute to designing the overall architecture of the project, making decisions on frameworks, databases, and APIs to be used.
- Problem Solving: Experienced coders can tackle complex technical challenges, debug issues, and find efficient solutions to overcome obstacles.
- Mentorship and Guidance: They can mentor and guide beginners, provide technical support, answer questions, and help the team overcome any coding-related difficulties
A Guide for Engineering Managers to Run a Successful Internal Hackathon
Understanding the Hackathon Concept
Way before the event start date, inform your developers that you're planning to run a hackathon. Perhaps in a Zoom call, officially present the idea and explain the basic concept, which is an event where engineers gather to work on creative projects, and prototypes, or to solve specific problems within a set timeframe.
Highlight the benefits, such as fostering teamwork, encouraging out-of-the-box thinking, and promoting a sense of ownership and engagement.
Because hackathons are hands-on, DIY, and in your case, low-risk, encourage your developers to use their skills and imagination to solve the problem during the event.
Setting Clear Goals
Define the goals and objectives of the hackathon, whether it's to develop a proof of concept, explore new technologies, or tackle a specific challenge. Write this down and make sure your teams are well aware of its objectives.
I’ve heard stories where developers thought they were going to “hack” or do something illegal. That's why it's very important to explain that an internal hackathon is different, that it's all about getting together to bond, be creative, and iterate and execute an idea.
Nail Down the Theme!
You could be working for an amazing company that has a great atmosphere and culture, but if you don’t establish the right theme, then your participants will not be inspired.
Ask your participants about the theme before the event start date to ensure they find it interesting and worth their time. If your participants have some brilliant ideas to work on, they’ll more likely be engaged.
Also, consider choosing a theme that aligns with their expertise and also the company's objectives.
Planning and Logistics
Provide guidance on the logistical aspects like the duration and the venue for the hackathon. Stay connected with those remote devs who might be flying in.
Life support? Yes, make sure accommodation is sorted way before the event and also after. Consider everyone’s food and drink preferences during the event too.
Also, in my experience, picking a date was harder than it seemed. You need to pick a date on which everyone could participate. Otherwise, the teams will slowly decay as the clock ticks.
Ensure that the necessary resources are sorted before the event, such as hardware, software, and collaboration tools.
Create a detailed schedule, including time for ideation, development, presentations, and judging.
If you’re running a small hackathon, you might not have to get buy-in from other department heads. At bigger companies, you’ll always have a director or manager who may wonder how production could stop for that period of time.
Make sure there is enough space to accommodate the teams and the number of participants. If possible, each team should have a room for themselves, plus a DMZ where they can take a breather and chat and relax.
Here are some more specific questions to ask:
- Who will be eligible to participate in the hackathon?
- How long will the hackathon last, and what will be the schedule?
- Where will the hackathon take place (physical or virtual)?
- What technical requirements are necessary for participants?
- What resources will be provided to participants (e.g., data, hardware, mentorship)?
- How will projects be evaluated and judged?
- How will teams be formed, and what will be the team size?
- How will communication be facilitated during the hackathon?
- Will there be mentors or subject matter experts available to support participants?
- What will be done with the projects and ideas generated during the hackathon?
- How will the organizers collect feedback for future improvements?
Sort Out Solution Ownership and IP Rights Before the Hackathon
Since you're planning to run an internal hackathon, make it clear that the solution created and its IP rights are owned by the company running the hackathon. Stipulate in the Terms and Conditions that the company owns the product created by the developers.
Team Formation and Collaboration Management
When forming teams you can go either two ways: let your developers choose their teams themselves or do it yourself. In any case, you should encourage cross-functional collaboration where your teammates have different backgrounds and skill sets. The teams should be balanced when it comes to experience levels, to ensure proper mentoring and similar results.
Promote inter-team communication, knowledge sharing, and the exchange of ideas. Facilitate team-building activities to enhance collaboration and camaraderie.
Providing Guidance and Mentoring
I’ve participated in hackathons in the past where I was really impressed with juniors and not so impressed with the engineering managers. Everybody could share their knowledge and experience, and some are more inclined to do so. Still, I’d like to think EMs are EMs for a reason, and it would be great if they could play a more important role by providing guidance and mentorship to the teams.
EMs and the more senior developers should support participants with technical advice, help them overcome obstacles, and encourage them to explore innovative approaches. They should also be available for questions and provide feedback throughout the process.
Showcasing and Celebrating
Allow teams to present their projects or prototypes at the end of the hackathon. Encourage constructive feedback and create a supportive environment for sharing and learning.
Recognize and celebrate the efforts of all participants, highlighting notable achievements and innovative ideas.
“That’s a wrap! So, what do we do now?”
After evaluating the technical or formal accomplishments, take a moment to consider how your teams did during the hackathon. Were they happy? Did it bring people together? Did they learn something and was it worth their time?
Evaluate the outcomes, learnings, and impact of the project you were working on.
Explore opportunities to incorporate successful ideas into future projects or product development. Seek feedback from participants to improve future hackathons. You can use a pulse survey via hay if that might help. You can even choose the anonymous option.
Here’s Some Actual Feedback From Our Last Internal Hackathon
Not too long ago, one of our developers organized a hackathon for our Node.js team. The theme was to automate an internal process surrounding how we do performance reviews. Overall, it was a great success. The feedback from the teams was overall pretty good.
Here’s what people had to say:
- Team building was fantastic!
- We met up in person, and that is really important in an era of remote work
- We got to use a food delivery app that we actually build for a client. We ordered drinks and snacks for the event
- We got to learn how people worked during the hackathon
- Great to see people start pair programming organically
- The chemistry kept the event going
- Nice to see people focused on their tasks
- Developers want a hackathon more frequently, not annually
- Was too long
- Some developers started randomly leaving before the end
- Morale dropped when developers started leaving before the end
- The organizer/facilitator had a lot of free time. Didn’t know what more to do.
Running a hackathon is an effective way to cultivate innovation, collaboration, and engagement within your teams. By setting clear goals, promoting teamwork, providing guidance, and celebrating achievements, engineering managers can harness the collective creativity and problem-solving abilities of their engineers.
Remember, the success of a hackathon goes beyond the event itself—it can inspire lasting impacts on team dynamics, problem-solving approaches, and product development. So, get ready to unleash the potential of your engineering team and embark on an exciting journey of innovation through hackathons 🎐