Hello my friend,
collaboration, team work, team spirit… These and other similar words we are using quite often to show the importance of working together to achieve something big. Especially, if you have very limited time. This is a good description of the hackathon – the team effort to achieve something big (i.e., MVP of working product) in a short term (i.e., in 24 hours). Let’s see what’s that all about.
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.
What Was the Hackathon?
There are many hackathons worldwide. The trend we observe now is that many technical events have hackathon as a warm-up event or a part of the main program. In this case, the event was NANOG 84, which is one of the biggest gatherings for all Service Providers, Telco equipment vendors, and system integrators in North America. It is a massive opportunity to learn some interesting things from some leading companies, like their experience and lessons learned with technologies or their vision.
I was not able to attend the NANOG event itself, unfortunately, due to clashes in my schedule. However, I was able to attend the hackathon, which in this case was a warm-up event conducted over the weekend on 13-14 February 2022. To be frank, this is the first hackathon I’ve ever participated in my live. I must admit though I signed up for one of the IETF’s hackathons in past, but get it slacked. This time it was different and I took part.
How Did I Get There?
The information about hackaton was distributed by NANOG in various medias, especially social ones. In my case, I was tagged by Jeroen van Bemmel from Nokia, one of the great automation developers in the community and contributors to our open source Python library pyGNMI. I was not subscribed to NANOG, hence would miss it. There were two good things about the hackathon:
- It was mixed in-person/virtual event. The in-person even was in Austin, which is a bit far from my location in UK. However, the virtual option allowed me to connect remotely, to listen and to watch the introduction, and to be able to connect to my team.
- It was free. On the one hand, the absence of the entry fee makes this even comfortably to miss. On the other hand, it attracts the huge amount of people, who otherwise would be missing due to entry costs. As usual, the balance is difficult to find.
What Was the Team?
Originally we’ve started together with Jeroen van Bemmel from Nokia. As he was willing to take part in the event and suggested quite an appealing topic (more on that soon), I decided that it would worth to team up with him. So, our setup was the following: Jeroen was on site in Austin (and 6 hours behind my timezone) and me remotely from London.
On the one hand, the time we could work literally together, being in a conference call, was lower due to the time difference. On the other hand, with agreeing on the workload split and deliverables each of us should produce, it allow us to work on parallel and get the actual advantage of the time shift, with Jeroen working, then me working, them Jeroen completing work and presenting.
On the second day of the hackathon, Jeroen teamed up also with a recent graduate, who also contributed to our final goal.
What Was the Goal?
As said above, Jeroen suggested something very appealing, which I couldn’t stand. He suggested to create a NAPALM module to interact with network devices via gNMI using pyGNMI. As NAPALM has its own data model, the idea was to map parameters from different YANG modules into NAPALM. As different vendors may have different YANG modules, we decided to use OpenConfig as a primary choice, and, if it is not available, then to obtain the platform type from a network device and internally to chose the corresponding module to extract the information.
So, all the tick boxes for me were ticked:
- Network Automation
- Usage of pyGNMI library
- Multivendor focus
- Contributing to a great and widely used network automation project
What Is the Overall Impressions?
The experience was good. It was very interesting for me to work together on a joint software project with a great engineer, outside of my immediate teammates, relying on the open source products to build another open source products. This gave an opportunity to learn something new, how others were thinking and what was their approach to write the code. Another good thing was to solve the real problem, which is absence of gNMI support in NAPALM, with gNMI becoming more and more popular for network management and telemetry collection. Finally, working under time pressure on a useful project allows you to focus on a real value rather than bells and whistles, yet not forgetting to document the code, which is very refreshing feeling.
I hope, it is not the last time I will take part in a hackathon. It was ultimately nice new experience, which allowed me to take a look from a different angle on some things I was working on. Besides that, working with a great team on some challenging and interesting goal, what else can we dream of in a professional sense. Team work does indeed a dream work. Take care and good bye.
If you have further questions or you need help with your networks, we are happy to assist you, just send us a message. Also don’t forget to share the article on your social media, if you like it.