Battleship and collaborative learning
04 | 2024 Sanna Valkeejärvi & Aki Väliaho, Senior Fullstack Developer
How do Kipinä's experienced experts ensure continuous learning? By building things together and having fun through coding and gaming. "The most important thing about the day was doing things together as a team and seeing the skill level of everyone's programming abilities. It was a genuine validation of Kipinä's high-level expertise."
It is common for Kipinä's people to take a day away from their normal working context and projects, to learn from each other and gain a new perspective on teamwork and problem solving. In March, the gang got together for a full day to play a game of shipwreck. However, this Battleship day was somewhat different from what you might imagine from a game night.
In the all-day tournament, each pair was first given four hours to devise a functioning algorithm / AI to handle playing and defeating opponents. For the next four hours, every algorithm played against the others. By the end of the day, the winners were determined.
The gaming platform for the day was built collaboratively at Kipinä by a team of four experts. One of these coders is Aki Väliaho.
"The architecture of the game consisted of a server-side game engine and client applications running on the players' own devices. Both applications were implemented as Spring Boot 3-based Java programs and integrated into the AWS cloud environment as an ECS-based containerized solution.
Game events flowed in real-time via a Spring Websocket implementation between the client applications, the server, and the admin interface. Operational aspects, such as player creation, took place over an authenticated REST API through which the connection to the socket providing the game events was routed. The admin interface for tournament management and game monitoring was implemented using the Svelte framework."
Kipinä experts on the hunt for the perfect algorithm.
Those who coded the gaming platform did not participate in the game themselves, acting instead as observers. At the start of the tournament, players received instructions on setting up their environments and guidance on where to program the game intelligence. The basic rules of Battleship were also reviewed to refresh memories.
After four hours of intense algorithm development, the actual tournament began. At this point, there was nothing more to be done; developers could no longer influence how their algorithm performed during the game while watching it unfold.
Each pair's algorithms played against one another while the entire group of developers watched the action on a large screen, tracking mistakes and successes. No one found the ultimate, crushing algorithm, but a winner was ultimately crowned.
The joy of learning and being together
In addition to Kipinä employees having fun together all day with coding, gaming, and saunas, the experts learned from one another. Functioning as a team delivers the best value to clients as well, which is why it is practiced in real-life situations.
Aki describes the day as follows, "We all had a hell of a good time all day. I think everyone learned a lot during the day. The most important thing was that we were doing things as a group and seeing what level of programming skills we all have. It was a real validation of the hard skills of Kipinä."
While watching the game, discussions ran high, and afterward, a review was held for all created algorithms and the code behind them. It was done with gentle, good-natured ribbing and mutual respect.
The day yielded a wealth of lessons and insights.
Practicing collaboration in a tangible way
Communication in the midst of coding
Coding as a team is rarely mainstream practice in expert work, even though Kipinä emphasizes teamwork. Cultivating social skills was a strong focus again in this joint event.
Going through all achievements, where each participant in turn explained why they and their partner arrived at their specific solutions
Dynamic practice rounds before the start of the game
What was impressive is that all the teams managed to create an AI/algorithm in a short time that didn't get stuck during the four-hour game. This is a testament to the kind of professionals we have at Kipinä.
Some form of continuation for such development days is to be expected. The event generated so many great insights and a fantastic atmosphere. Every participant was very enthusiastic about the day; there were 12 Kipinä team members present, and hopefully even more will compete against each other next time.