I had lunch recently with a former coworker and colleague, and we got into a discussion about the topic of hackathons.
For those unfamiliar with the term, a hackathon is an event where a team of software developers and others, come up with a project idea of their own choosing, and work together during the duration of the hackathon to come up with a finished, or at least minimum viable product deliverable.
At the end of the hackathon event, there is usually a final judging process of all the finished hackathon projects and a winner and/or runner-ups are determined and given awards.
Hackathons are very popular amongst software developers for many reasons.
I can’t speak for other developers, but I’ll bet many others share the same appeal I find in hackathons.
The Freedom to Work on Your Own Idea
It may not sound like a big deal to non-software developers, but it’s actually quite rare to work on original projects.
Most of the time, we get stuck with “brownfield” projects. Brownfield projects are the digital equivalent of hand me down clothes.
That’s not to diminish the importance of brownfield projects…they were obviously created in the first place, to serve a need.
But after the initial development, a project enters a sort of maintenance mode. The person or team who inherits an initial project, will end up either fixing ongoing defects and bugs, or work on enhancements.
Either of these two tasks usually don’t require near the initial level of creativity and mental effort that a brand-new project requires. Most of the major design and architectural decisions have already been finalized, whether you agree with them or not.
And while it is true that software is meant to be malleable and easy to change, in reality, it’s easier said that done. Businesses get nervous about radical changes made to the architecture and design of code that’s made it into production.
Which explains why software developers are rarely allowed to major architectural changes to existing projects, even when they believe it’s the right thing to do … sometimes office politics and good old-fashioned human nature’s resistance to change gets in the way.
Even when a developer is allowed to work on a greenfield project, the project requirement is still mandated from a product owner or executive management. And many times, the programming language and other aspects of the technical stack can already be decided as well, before the primary software development team begins work on the implementation.
The fact that most software development is done in a team environment also means you develop software with team consensus and collaboration in mind. That inevitably means that you won’t always get your way in the way you want to create your software.
And then, of course, let’s not forget about all the design meetings, status meetings, planning to plan meetings, meetings, meetings, meetings!
In a given week, a developer can quite literally spend 50% or more of their time in meetings and other non development tasks.
This leaves very little actual time for developers to actually concentrate on the actual act of writing software.
In a company sponsored hackathon, developers are given the absolutely freedom to work on their own project idea.
Even better, a developer has the freedom to implement the idea in whatever programming language and technical stack they wish.
If you’re a Java developer but you’ve always wanted to try programming an application in Python, you’re given every encouragement to do so in a hackathon.
Are you a Microsoft .NET developer, but have always wanted to try out NodeJS and ReactJS? Sign up for a hackathon and go for it!
A hackathon is basically a compressed coding marathon where anything that gets in the way of coding (meetings, production support issues, etc), is ruthlessly chucked out the window.
Hackathons also give you the opportunity to work with other developers you usually don’t work with. It’s a great way to make new acquaintances and friends with others in your company or organization.
And last but not least, enough junk food, caffeinated beverages and greasy pizza to make your arteries run away screaming in fear!
So that about covers it for the appeal to software developers. Why would a company invest the time, money and effort into coordinating a hackathon?
How Companies Benefit from Hackathons
Are hackathons just a frivolous waste of a company’s time to appease software developers?
Try making that argument with Facebook executives. Their video feeds, their “like” concept, Facebook chat and timeline all were born out of Facebook sponsored hackathon events, and create real meaningful and significant revenue to Facebook’s bottom line.
Successful companies can’t afford to stay still. Not only do they have to prove to their investors and the financial world they can make money from their products and service, they need to show GROWTH and the potential to enter new product and service markets.
This either happens by acquiring and purchasing other companies and startups, or by finding homegrown new projects within an organization.
And hackathons are one of the best incubators to nurture and grow new projects. There are certainly no shortage of ideas.
When you boil software development down to its basic purpose, it’s to solve a problem.
WOULDN’T IT BE GREAT IF WE COULD WRITE AN APP TO MAKE THE SALES PIPELINE EASY TO QUERY FROM OTHER DEPARTMENTS?
WOULDN’T IT BE GREAT IF YOU COULD QUERY OUR CLOUD DATABASE BY VOICE COMMANDS?
WOULDN’T IT BE GREAT TO CREATE A MOBILE APP THAT USES GPS TO FIND THE NEAREST WAYPOINT BETWEEN YOUR CURRENT LOCATION AND YOUR NEXT SALES LEAD?
People who’ve worked long enough at a particular company or organization know the pain points and shortcomings they’re exposed to on a daily basis. They have intimate knowledge of a particular problem, and usually the way to dig out of the problem.
These are excellent sources for hackathon projects.
The time, money and effort it takes to coordinate hackathons is significant, make no mistake. It does steal project time away for regularly allotted and scheduled company projects.
But even a single successful hackathon project could lead a company to a brand new revenue source or potential new market.
Win-win in my book. Companies getting potential new product and service pipelines, and software developers getting the opportunity to work on their dream tech stack and programming language.
Oh, and let’s not forget the deep fried candy bars ….
Image via Sebastiaan ter Burg