Under the leadership of the Bexio Product Owner and Architects, Scalac engineers, together with the rest of the Bexio team, developed a Payroll accounting solution and integrated it with the rest of the Bexio environment. During the first year of commitment, the following technologies were engaged:
- Backend: Scala, Play, Akka HTTP, Akka Actors, microservices
- Pipelines / Streaming: Kafka, Strimzi
- Frontend: Angular 9.x
- Database: Postgres, Slick, Quill
- Continuous Integration & Delivery Platform: Circle CI
Daily, we used Kanban as an Agile methodology, which allowed us to have control over the whole development process and to facilitate the increment releases – we even managed to deliver particular releases several times a week.
At the beginning of the second year, after a successful first year of engagement and as a result of a request from Bexio, we strengthened the Payroll team with a Product Owner. He took responsibility for gathering and creating well-defined business requirements as well as rules of communication, which organized flows within the Payroll team. As a natural result, the rest of our team also took more responsibility and managed to seamlessly integrate even deeper within the core of the Bexio teams. As a consequence, we spread our commitment in the new sphere of activity – DevOps engineering – and eventually helped during the migration of production & dev environments into the Google Cloud Platform. All of the developers acted proactively, and everyone partially took on an additional role as a DevOps engineer. Along with gaining the necessary knowledge about the Google Cloud Platform and the Kubernetes environment, we also migrated from Scala 2.11 up to Scala 2.12, upgrading sbt 1.x, the overhaul of e2e tests to run tests on Cypress.
The sphere of engaged technologies eventually grew to include:
- Cloud Environment: Google Cloud Platform, Kubernetes
- Cloud Supporting Tools: New Relic, Terraform, Helm Charts (Kubernetes), HashiCorp Vault