TNS
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
NEW! Try Stackie AI
DevOps / Software Development

Hackathon Tips to Boost DevOps Innovation

Internal hackathons, when run well, foster valuable innovation, stronger teams and better business outcomes.
Aug 6th, 2024 6:30am by
Featued image for: Hackathon Tips to Boost DevOps Innovation
Featured image by Unsplash+ in collaboration with Alex Shuper.

Enterprises have gotten pretty good at adopting DevOps practices, but scaling them can be difficult. To be sure, newer disciplines like platform engineering and roles like compliance architects are valid manifestations of DevOps. But sustaining and expanding a productive DevOps operation requires constant validation and growth. That’s why we see more companies turning to the humble hackathon to sustain their engineering culture.

Internal hackathons are a hidden gem for fostering an active learning culture that yields valuable innovation and better business outcomes. But they require resources — time, money and infrastructure — to make them valuable to your developers and business.

Set Hackathon Goals

To justify your investment, start by laying out what value you want to get from running an internal hackathon. This might include:

Crowdsourcing innovation: As the saying goes, “two heads are better than one.” Although that is not always the case, practices like pair programming, an element of Extreme Programming, can result in better code, faster development and information sharing, as the U.S. Department of Defense found. An internal hackathon could enable teams to work together to solve a problem, improve existing software or deliver new revenue-generating opportunities. Hackathons foment innovation!

Discovering system weaknesses: Internal hackathons provide a controlled environment to discover security vulnerabilities, performance issues or policy drift before your software hits production.

Addressing technical debt: According to the Stack Overflow 2024 Developer Survey, more than half of developers say technical debt is a problem. A hackathon offers an opportunity to examine your current systems and identify technical debt that is no longer serving you, as well as formulate ideas for more efficient ways to do things.

Learning through experience in a safe environment: Engineers and developers like to learn new things. Keeping them happy is important. Hackathons provide a safe and secure environment for developers and platform teams to learn new or sharpen existing skills with minimal risk. As the American Airlines Tech Blog states:

“Hackathons are positive for morale and for team building, which inherently makes them amazing for keeping people excited about what they do, making them passionate about new tech and distracting them from other job offers.”

Gather Support for Your Hackathon

A hackathon can’t be a one-person show. To pull off a successful hackathon that your developers want to attend year after year, you will need help with execution and resources. Ideally you have executive sponsorship for the event — from someone who isn’t afraid to try new things, understands the importance of culture, has broad and deep influence, and is willing to be your voice at the executive level. Don’t discount tech-minded line-of-business leaders who need to deliver better services and experiences and recognize software as an asset.

Partnering with your company’s internal learning organizations is a potential way to fund your hackathons. Follow the example of enlightened enterprises including Comcast, Netflix, American Airlines, Home Depot and CapitalOne, which have internal teams dedicated to adoption and use of open source software. By highlighting what teams can learn from the hackathon, you may be able to generate resources and support for it.

You might also consider asking for outside help to make your hackathon dreams come true. Don’t be afraid to embrace the eager vendor. Many, including Broadcom Tanzu, are willing to sponsor and help run a hackathon or hands-on labs. Our division’s advocates and architects run hackathons, workshops and labs with dev and platform teams. Plus they’re always happy to bring stickers, t-shirts and even free trials for new toys tools your team wants to try.

Emphasize Encouragement and Inspiration

My colleague DaShaun Carter runs and participates in hackathons regularly, so I asked him to share some practical considerations for running a hackathon. At one of the most successful events he facilitated, the teams were upgrading from different versions of Spring 2.x to 3. Upgrading to Spring Boot 3 requires Java 17 or later, and some teams were still running Java 8!

Carter recalled several reasons why this potentially fraught event became such a success. Participants were encouraged to share milestones on a shared channel in real time. With several teams and hundreds of developers, the milestones turned into mini celebrations that inspired and encouraged the participants.

Also, in addition to quantitative metrics (e.g., number of apps upgraded, versions), participants were measured on how many other teams they engaged. These little details were critical to fostering an active and celebratory learning environment.

Beyond Fun and Games

While having a theme and incorporating a little friendly competition and encouragement from leadership is certainly a good way to get people excited about the event, it’s not just about making it fun and productive. There are many practical considerations to throwing a great hackathon. Here are some of Carter’s tips for IT leaders and application development managers who want to set up a successful internal hackathon.

Involve Your Platform Teams

Include the people who will deliver the platforms, paths to production and golden paths that your developers use. This will help them better understand the tools the dev teams use and want, and it builds empathy between teams. It’s also a great way to identify and mitigate technical debt and potential security weak spots.

Make Sure the Sandbox Has Enough Sand

Nothing kills momentum more than not being able to deploy or waiting for your environment to be ready. Have a good sense of what resources hackathon participants need, like database instances, entitlements, or credits, and provide self-serve access to environments. Make sure the sandbox has all they need to build, bind, deploy and scale.

Have Rules but Leave Room for Creativity

Having a menu of “must-use” and “nice to use” criteria helps when your teams are trying something new. For example, require them to include a specific library or API. Consider setting up time boundaries (e.g., use of buildpacks, number of instances updated in a set time) or offering extra credit for building a specific type of app or securing a vulnerability.

Don’t Break Your Fixed Engineering Culture

If your organization has an established and successful DevOps practice, it probably didn’t happen by accident — and it probably didn’t happen easily. If your engineering culture is productive and (mostly) frictionless, you probably want to sustain it.

Running regular hackathons builds on that culture and helps improve your application dev and delivery pipelines, strengthens your fundamentals (security, stability, availability, scalability), and encourages creativity and innovation.

Group Created with Sketch.
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.