By Rachel Breeze | 14/11/2016
What do you think of when you hear a developer is doing a hack? That, they are out horse riding in the countryside... or going to hack computer systems like Chloe from 24? Or off to bring down the world in something akin to fsociety in Mr Robot?
A hack, or a hackathon, is where a group of people get together over a set period of time to solve a common challenge. Hacks are about solving problems creatively and don't always have to involve technology.
Hacks are an excellent way for developers and others involved in product or service design (designers, user experience consultants) to grow. As developers, for example, our corporate cultures can limit us to varying degrees:
1. We generally work within the software stack that the company have chosen e.g. a Java or Microsoft stack
2. We use the tools and libraries that are developed in house
3. Projects are inherited from other developers
4. We are often tied to fixed time and budget expectations
While all of us in the development team at Sigma get involved with the full software lifecycle, for some, a hack may be the first chance they get to architect a solution from start to finish, working to their own schedule.
Hacks which feed into the open source or tech for good communities provide an excellent opportunity for developers to gain a better understanding of the impact of their work. At Hack Manchester 2016, many of the challenges involved resolving important issues, such as helping the Greater Manchester Police find missing people or raising more money for Cancer Research UK in a unique way.
If the purpose of the hack is to work with an existing open source code base, such as Umbraco, it provides the following opportunities:
1. Exploration of how other companies tackle common tasks of onboarding new users, writing test scripts, performing code reviews etc
2. A deep dive into the code base
3. Give back to the open source community
4. Help resolve common issues that users of the code base may experience on a daily basis
It's a great way to network - you never know who you will meet! New friendships are formed and old ones reaffirmed. Every hack gives you the chance to discuss coding concepts and swap tips and tricks on the development tricks you work with.
You can learn and acquire new skills at hackathons. I've seen developers learn a new programming language and dust off skills they may not have used in a while. For example, if you inherit code at work, this could be the first time you have configured a new project in a while.
However, there is a growing concern across the wider community that hacks can be used to exploit talent, to generate ideas for free. Here it's a case of developers beware but you may feel that the trade-off between the skills you gain and the loss of IP is worth it.
Some examples of Hacks I have recently attended:
HackManchester (http://www.hackmanchester.com) is part of the Manchester Science festival. It is a coding competition. HackManchester runs as both a Senior Hack (which lasts 25 hours and takes place over the weekend the clocks go back), and a Junior Hack (for people under 18), taking place over 2 days during the Autumn Half term.
In both cases, participants are encouraged to take part in at least one challenge set by the sponsors. The challenges in 2016 had a strong tech for good vibe, as well as some lighter vibes around UX and steganography (the way of placing messages or information within other messages or information).
Teams of up to 4 people participate. Tickets in 2016 were £20. Sponsors helped cover the cost of 2 lunches, 2 dinners, breakfast and drink, a goodie bag, and an onsite barrista.
This is a fantastic hack to attend because the development team owns the IP, not HackManchester.
The Umbraco Hackathon runs as part of the Umbraco Festival. It runs from 09:00 to beer o'clock (normally 17:30) and is dedicated to resolving glitches within Umbraco. The day is broken into hour-long "pico-sprints"
The issues are usually resolved by pair programming.
Sign me up!
What's not to like about going to hack. Any software developer you know, spread the message and encourage them to attend so that they gain new skills, confidence and most all, have fun.