Last week we had another amazing hackathon here @OpenDNS. Twice per year we bring in all engineers from our Vancouver office to San Francisco for a 24 hour hackfest. Rules are limited and creativity is encouraged. This time was not unlike others where we had some amazing projects done end-to-end. This was also our biggest one to date with more than 60 folks participating on 20+ teams.
Although the hackathon’s have been a tremendous success, to date, they have been limited to technical people within the company. Because of that I joined forces with our head of customer support, Brian Hartvigsen, to create some training material and host a mini hackathon where we would host a session on teaching programming to non-programmers. The concept was simple, we would ask people from other departments like; sales, HR, and marketing, to participate after their regular work hours from 5:00 – 7:00 PM and train them on how to program. From there they would have two hours to pair up and write some code and come back and present what they did. The judging would be done by anyone who showed up to the demonstrations and we had categories for: Best overall, most creative, and most challenging.
Instead of using a language like Python, Perl, and Ruby, we decided to use Scratch. Scratch is a great programming environment for beginners as its 100% visual and provides a very easy way to create a program while learning some valuable programming techniques that can be used with other languages.
The result was amazing. We had five separate teams who created some fun projects and did great jobs by pairing, building, and demonstrating their work. We also ended up having almost half all the engineers take a break from their hackathon to come watch and judge the demos. Equally as great was that some of the teams solicited help from engineers on their projects and we saw co-operation cross departments in an area you typically would not. The non-programmers certainly left with an appreciation of how to build software and the process.
Below are some screenshots of the projects that were created by team members.
Based on the success of this we plan on doing more programming for non-programmers in the future and including non-engineering teams in future hackathons.