I’m Timo, and I have worked at Poplatek as a software engineer for the past one and a half years. I was asked to tell you about life here at Poplatek from a consultant’s point of view, so in this blog post, I’ll open up my everyday life at Poplatek and in my current customer project. My academic background is in Aalto University, where I studied a Master’s degree in Technology, specializing in networking technology and software development. I have around 10 years of professional experience in the field, most of which has consisted of cloud solutions and networking equipment development. I’m most interested in backend development, cloud architecture and CI/CD (continuous integration and continuous delivery).
For the past six months I have been part of a development team responsible for modernizing the sales system of Veikkaus’ retailers. In practice, this translates to development of new sales terminals and their respective cloud-based backend system. Our team consists of around 10 capable and experienced persons, including a product owner, service designers, developers and testers from Veikkaus, Poplatek and another consulting firm.
Veikkaus’ retailers (which include grocery stores and kiosks, for example) current sales terminals are approaching the final stages of their life cycle. Furthermore, the old terminals have separate devices for traditional Veikkaus games and Toto, which complicates the usage and maintenance of the devices, increases costs, and limits the number of sellable game types in selected sales locations. So to summarize, the goal of the project is to implement a single user friendly sales terminal with modern technologies, supporting all Veikkaus’ games.
In the project we have been free to choose the technologies according to the needs and use cases, and our team is also in charge of planning the architecture. In the frontend side, our platform of choice is Electron, which enables the utilization of all the central web technologies. We have chosen TypeScript as our frontend language due to the strong typing it offers. Our backend technologies include Spring (with Kotlin) and Node.js based Lambdas (with TypeScript).
Our backend solution is built on AWS, and we try to utilize the AWS service offering as much as possible to optimize the efficiency of development and the ease of operation. On the other hand, the cloud also enables notably lower costs for the customer, when compared to traditional local data centers. In addition to the core AWS services (such as EC2, S3) we are currently using Lambda, Fargate, API Gateway and Cognito – to name a few. We have chosen Terraform as our trusted tool for provisioning our AWS infrastructure, due to its’ intuitive module structure and the more user-friendly HCL language.
When building a new architecture from the beginning, part of the process is having to implement notable technological changes along the way – this project has not been an exception in that regard. For example, we recently switched a central part of our backend solution to be JVM-based, because one of the key external interfaces we are using is SOAP-based, and we were not satisfied with the SOAP libraries offered by the Node.js ecosystem. Another reason for this was the need for a more reliable runtime type validation.
I’ve been able to do a lot of versatile tasks in the project, and everyone in our team has a say on what they want to focus on. On the other hand, it’s sometimes fun to jump into the unknown and learn from a colleague more enlightened in a given topic. I hadn’t used Kotlin before the project, hence, learning and using it has truly been a positive experience – especially compared to Java, which feels quite clumsy in comparison. Furthermore, my AWS competence has further improved during this project, as we have taken new AWS services to use, and this know-how is something that I’m passionate to keep strengthening in the future as well.
I spend most of my working hours at the customer premises, since teamwork is more efficient in a shared space (and certainly more fun as well). It is always possible, however, to work remotely at home or at the office when needed, which provides nice flexibility in running my own everyday life. On average, I spend half a day per week at Poplatek’s office, especially at our company Friday coffee meetings, where we go through the company’s common topics together.
Outside of work, the best way for me to relax is through my hobbies. I’m an avid runner, and don’t mind running around the year even in rather Finnish conditions. I also play various racquet games with my friends seasonally, and when the hockey season is on, you can quite regularly spot me from the stands and the corridors of Nordis.
Would you like to join our continuously learning and evolving crew? Apply here.