The development of technologies moves fast and among the challenges Software Engineers faces, one of the hardest is to keep up to date with new programming languages, concepts, frameworks and tools. New technologies are arriving everyday and even though our projects uses the most modern and reliable technology, it’s still a very complicated process to understand what new shiny tech is here to stay. And therefore worth giving a try and which ones are still not ready to fulfill our current needs.
One way for the Engineers to explore and consolidate their skills on new technologies is to participate in Coding Dojos. Coding Dojos are sessions where Engineers get together to solve a computational problem following some simple rules. Inspired by martial arts Dojo’s, the idea is to strive for perfection through practice while also providing a safe environment for experimentation. In a typical Coding Dojo, people of different skill levels participate and cooperate on the same solution. Questions are usually put on the table and anyone is encouraged to give their own opinion. There are no wrong answers, fomenting discussions is part of the goal.
At Klarna Engineering we have a biweekly Dojo where people from all teams are invited to participate. We solve all different kind of problems and have been focusing more on functional languages like Clojure, Haskell and Erlang. At the end of each session we have a small retrospective. This is where we vote on the subject for the next session, it could literally be about anything people show interest in. Another important point at our retrospective is that every member summarise what he/she has learned during the session, so that we can have an idea of how much we are improving ourselves.
Since we started the Dojos at Klarna we have heard from the Engineers that they are improving their tech skills, seizing the opportunity of meeting people with different backgrounds and also very important – is having a lot of fun! It is not uncommon that people report that they are now being able to apply their new skills on their day to day work and are improving their performance at current projects.
We recommend the practice for all the benefits already mentioned and as we cannot see any drawbacks to using it. Coding Dojos are a fun way to learn, encourages team building, experimentation and often ends up directly or indirectly creative innovation.
/Renan, Software Engineer