What is DevDay anyways?
DevDay, or Developer Day, is a special kind of work day when developers do not work on their usual projects and are allowed to work on whatever they like. The idea of DevDays is pretty common: the world’s most popular email service, Gmail, was born as a DevDay project at Google office!
The value of DevDays
As you speak to other developers in their coffee time you can find out that they are exploring other programming languages, new frameworks or anything other related to the programming in their free time after work. Someone may say that it’s impostor syndrome, but for me it’s just the passion it takes to be a good programmer.
The value of DevDays for developers is clear: having fun working on your side projects at work time? How awesome is that! I think it requires no further explanation :).
However, the value of DevDays for the employer is often not so clear. What do we get by letting our devs work on something other than clients’ projects? The first thing that comes is better integration in the whole company - nothing keeps people together more than having fun together. The second thing is relaxing atmosphere that comes to the office and helps everyone to chill out for example after product release. The third and more... It’s all about your ideas!
Railwaymen DevDay #1: The Evil Scientist
We have a few ideas regarding the theme and value of the DevDay but the one that our CIO - Marcin - was hyped the most about is benchmark between all those cool languages like Haskell, Elixir, Go, Scala and languages we use every day so mainly Ruby and Java. The task to be benchmarked was parsing four large json files (around 2 million lines each) and summing values with specific keys.
This way we, as a software house, could get knowledge about how all those trending languages can influence our everyday work. For example, if Go is a few times faster than Ruby then maybe we can rewrite the slowest things to Go to get better performance.
However, for me, as a developer, this sounded kind of.. usual. Of course, it’s still fun to try e.g. Elixir, but I wasn’t all that excited about it and I doubted other will be. We needed some way to hype people about this challenge. What we were looking for is uniting people in teams that work to achieve the same goal, but also competing with each other. I realized that what we are looking for is gamification. Turning the coding challenge into a game.
I came outside of the office being told: “Just put an email together about this DevDay thing and we’ll see if there will be any feedback about it”. Let’s be honest. No one reads emails. Especially long ones. So, instead of having everyone read this super long email, I encouraged our PR person - Ania - and our awesome designer - Sylwia - to work on fun presentation. However, we needed a theme.
I came with the idea of having our CIO as an Evil Scientist that tries to flood our dev servers with large json files. Then, similar to popular games, having everyone choose their “class/specialization” - programming language they want to try. We aimed for something like crazy hyped movie trailer. That’s how the presentation you can see below was created. Check it out!
There were two kinds of prizes: golden medals for programmers of the fastest solution and.. the fake, gummy brain (which was supposed to be The Evil Scientists brain that stores root password) for the person with the best costume. The costume winner turned out to be one of our Haskell Hools :).
Everything turned out great - everyone was having fun and the whole office was filled with bursts of laughter and team shouts. We also got some technical knowledge we were looking for which will be subject on the next post. :) Stay Tuned!