Pat Viafore - @PatViaforever - May Chen & David Patterson
Published: 12 December 2016
The Matrix. Mr. Robot. That 90's movie with Angelina Jolie. When we talk to most people about hacking, their first thoughts go to cinema or television, where they envision computer wizards doing nefarious deeds on computer systems. So when I say we do a Hackathon at work, the first reaction is typically along the lines of: "Huh, why are you trying to break into stuff? I thought hacking was illegal." However, when we talk about hacking, we're not talking about trying to break into computer systems or trying to do anything illegal. Instead, we use the verb hacking similar to how we use the word creating. "Hey, I hacked up a quick prototype to test this out." "Come check out this cool tool that I hacked together." A Hackathon is simply an event in which we get to try out something we've never tried before, to mess around with new technologies and build something new.
This is not the definition of hacking that we are talking about
Poster design by Dawn Patrol 
As you look around today, you will find many public Hackathons and makerspaces popping up around the globe. There is a surge in people who want to exercise their innovative muscles. We saw a similar surge here at ADTRAN, so we sought ways to give our engineers the means to step away from the day-to-day activities and explore their creative side. We started hosting our own internal Hackathons. Every two to three months we reserve an entire day for hacking, and half a day for demos and presentations. Even though participation is voluntary, we typically get 15-20 teams signed up each time.
You might be thinking, "One day? That's it? That's barely any time." But there lies the beauty of a Hackathon. One day to work on a brand new project is an extraordinary constraint, and each and every Hackathon is a new challenge; however, it's a challenge we rise up to embrace. Teams are completely unbounded in what they can do. Teams pick their own technologies and their own projects. They get to self-organize, which gives them a chance to work with engineers they normally don't get a chance to. They have full latitude to create new and interesting solutions. When you give these teams that much freedom, they are able to really work on what is important to them. It doesn't matter that it's only a day. Teams take that challenge and push themselves to deliver something amazing each time. While we don't expect a finished solution or fleshed out project to be completed in one day, the work that our engineers do continue to astound us.
We don't consider all of this throwaway work either. When we give our demos, you can tell when a project catches the audience's interest. People's ears perk up. Questions about how soon we can get a production-ready version start rolling in. There is visible excitement when we talk about the project. We've made diagnostic tools for our products, messed with hardware for test generators, and built tools that engineers use daily. We've dabbled in multiple programming languages, FPGAs, computer vision, and even robots. Instead of just listing out all the things we use, we'd like to show just a few of the projects that have come out of our Hackathons.
First we want to show you something called TBaaS (Test Bed as a Service). You may have read about it in a previous blog post, but the concept was born during a Hackathon. TBaaS gave us a way to virtualize our embedded products; we could run them in a private cloud, on-demand. This helped revolutionize how we do scale testing here at ADTRAN, and it came from a Hackathon. By exploring virtualization, Docker, and on-demand cloud computing, we were able to give developers a sandbox to develop in, which provided a great boon for those times when hardware was scarce. This project continues to be one of the most impactful enablers for testing our ADTRAN Mosaic Cloud Platform. After all, it's very hard to round up thousands of physical ONTs for scale testing, but with TBaaS, it's no problem at all.
We also focus on improving our products. Oftentimes, we as engineers tend to introspect our day to day lives and ask ourselves "What can we do to save me some time?" What starts off as something small blossoms into a giant performance improvement that we can pass onto our customers. For instance, one Hackathon project took a look at software download times on our TA5000 product line. Every minute is valuable - both inside the company and on our customers' premise - and this was no exception. In one day, a team of three developers was able to analyze our download times, figure out that image size was a contributor and try out a better compression algorithm. In the end, we were cutting a few megabytes off an image size, which then further sped up image downloads during an upgrade. This is an immediate boon to customers when implemented, as it shortens upgrade times and, in turn, shortens their maintenance windows.
|Product||Original (Mb)||Old Compression Method (Mb)||New Compression Method (Mb)||Savings (Mb)|
Not every project has to have direct business implications; instead we may choose to learn something new and expand our knowledge. To celebrate ADTRAN's 30th anniversary, some developers wanted to make something special for the engineers. They also wanted to learn some more about robotics. Add in some Starbursts and Lego Mindstorms and something awesome comes out. I can't do justice by describing it, so it's better to just watch the video.
LEGO EV3 CANDY DELIVERY ROBOT
These are just a few of the projects that we've seen come out of our Hackathons. There's a lot more that I could show (159 other projects and counting, to be exact, and they are all awesome in their own right). We've had software engineers playing with hardware and FPGAs, and we've had hardware engineers working on web applications and embedded software. We've had first term co-ops, as well as our most senior employees contribute. It doesn't matter who knows what or what product line you work on. It is a chance to step away from the day-to-day work, meet some new people in the company and build amazing things together. It is a celebration of innovation that encompasses our engineering culture.
When first hearing of a Hackathon, some people say that it's not a productive use of an engineer's time. We can say, after participating in over 10 Hackathons here at ADTRAN, that quite the opposite is true. This is a chance for engineers to get together and create solutions to problems most people were unaware of. This is the time to work with coworkers we've never worked with before and figure out how to deliver something in a day. This is the opportunity for us to learn and adapt, to take chances, to try out new things with no fear of failure. This is the way to make us comfortable with new and radical ideas. When the tough problems come in, we can then stand up with confidence and say, "It's okay that I don't know about this now, I can learn it, and I can do this." To us, all of that is what our Hackathons are about.
1 -- "Hackers Poster IMP Awards Gallery". impawards.com. Retrieved 2016-10-28.