Yesterday (25.10.2014) I have attended a local NoSQL Hackathon. The event was hosted by PGS Software. It started 9:00 and took bit less then 9 hours to program a sample version if a twitter-like website.
What was my goal?
I’m considering attending is such event if I can benefit from it. This time my goal was to understand how NoSQL databases work in .NET world. We used DynamoDB and it turned out that there is a nice database provided to utilize it. The biggest problem for our (and not only our) team was to change how we think about data modeling in NoSQL databases. After a while of learning and playing with DynamoDB it turned out to be really handy stuff. Of course applied to the certain type of problems.
I’m glad and happy that our team (3 members of WrocNET group) had complementary skills to make a twitter-like app prototype. We didn’t prepare as such to the Hackathon and I was not aware that any other WrocNET member will actually participate in this event. Additionally none of us had used NoSQL databases before (as far as I know) and we managed to use .NET Low-Level API to use DynamoDB.
We used Visual Studio, C#, nancyfx, DynamoDB and GIT. Code does not look that bad. It’s probably obvious that the GUI part sucks :), but that was not the goal here. I wouldn’t take commit messages to serious or trustworthy either 🙂 But according to hackathon definition we had exactly a hackhathon 🙂
Here few words about the event’s organizers. There was a tutorial prepared by them for the event and I have to admit it was really useful. Smooth introduction what to install, run locally and use DynamoDB. for the first 30 min. we had a brief presentation about NoSQL. HashKeys, RangeKeys and so on. There were snacks and coffee available all the time. Pizza-lunch during the break.
But, the crucial thing was that there was always a NoSQL specialist around, so we could ask if we were not sure if we do particular things right in NoSQL database.
I think that attending hackathons can boost your development skills in a short time. Some can say that sacrificing whole day to program yet another app is a waste of time. It maybe true, but more important is to sharp the saw continuously. Especially if this is not only your work, but passion, hobby and fanaticism.