I’m Sami, a Bachelor of Computer Science (University of Helsinki) – however, programming has been a hobby of mine since I was in secondary school. I have been at Poplatek for a little over seven years now. Altogether I have 13 years of work experience in programming. I have specialized in backend systems which I have developed in most of my projects. I also enjoy sorting out different problems in production.
At the moment I’m working on a ‘Games and Money’ team at Veikkaus. In November, as a team of three, I, another consult, and the product owner of Veikkaus started to get to know the old gaming account system of Veikkaus. Our team expanded with three developers and one tester from Veikkaus at the beginning of 2019.
We used the first few months in getting to know the code and environments of the current gaming account. We did a lot of documentation and fixed small bugs from the old system.
The gaming account system maintains the balance of a player’s gaming account (seen in veikkaus.fi) and responsibility limits (for example the game limits of an identified player in the slot machines). Furthermore, the system offers APIs for the game engines to manage account balances and execute payouts. The system is one of the most central background services of Veikkaus, as almost all the playing services use the APIs it offers in some way.
Our team develops a new gaming account service for Veikkaus because the current one is not developed or operated by Veikkaus. Furthermore, its technology is already quite outdated and doesn’t scale well with the set requirements for future needs. We also handle some of the production’s support tasks of the old gaming account system.
Moreover, we manage a few background systems related to the identification of the player and the handling of the slot machine data.
To amuse our colleagues we have named the new developed systems as fruits and berries in Italian, for example Pepe (pepper) is our gaming account and game limit service, Mora (blackberry) stands for mobile solution, Pera (pear) is referring to our team name, and so on.
The old gaming account is implemented with JBoss EAP 4 application server, IBM DB2 as a database. Some of the technologies used in the app are Spring, Java6, Perl, Maven and Ant. Both test and production environments are in a traditional data center on RHEL based servers. We use Scala, Google Cloud Platform, MySQL and Node.js in other systems we maintain.
The most central framework in the new gaming account is Spring Boot and Kotlin as a programming language. As a root we have PostgreSQL. The app is packed in Docker containers, which we operate in Google Kubernetes Engine. Cloud environments are managed with Terraform. The biggest challenges so far have been in the configuration of Kubernetes cluster and the routing of web traffic between the cloud and the different networks of Veikkaus. Surely there are surprises ahead as the coding of the new gaming account is in such an early stage.
In the project, I have learned a new programming language, Kotlin, and been able to use Google Cloud Platform, which I was not very familiar with earlier. Furthermore, I have gotten to know older technologies, such as JBoss and DB2. This all has been quite interesting and I feel I’ve learned a lot of things that will be useful in the future.
I work mostly at the customer’s premises, but Friday afternoons I spend at Poplatek’s office. Most of my free time is reserved for my family, but I do spend time with my music hobby or code my own mobile game with Unity 3D.