Working in Prima Assicurazioni

Some bureaucratic details Link to heading

  • company: Prima Assicurazioni SpA
  • contract: Italian NCLA, full time
  • place: multiple
    • before 2022: full-remote - Pisa, PI
    • after 2022: full-remote - Pistoia, PT
  • start: May 2021
  • end: April 2022

As a Software Engineer (05/2021 - 04/2022) Link to heading

Summary Link to heading

I have worked in Prima Assicurazioni SpA as a Software Engineer in the “Intermediari” team. Being part of the “Intermediari” team implies providing a platform for all the Insurance Agents that are selling Prima’s products. The didn’t have a separation between backend engineers and frontend engineers: everyone had to contribute to both ends of the platform in order to ship new features. The features I contributed to were used to:

  • enhance Agents’ experience, like a calendar used to aggregate which notable events were due (e.g. payments, expirations)
  • increase the cross-sell capabilities of the Agents’, like the integration with the Home Insurance product

This was a brief parenthesis, but I think it made me even more versatile than before! I used two languages I’ve never used beforehand and they are rather niche compared to the likes of Java, JS, PHP, etc. I was also able to appreciate the value of observability in a cloud-first environment due to the use of Datadog. Prima was a breath of fresh air in these regards.

Role & Responsibilities Link to heading

As a software engineer, my responsibilities mainly revolve around being an owner of the teams’ project and sometimes contributing to other teams’ projects. To give a non-exhaustive list, a Software Engineer in Prima has to:

  • develop and maintain team’s µservices
  • contributing to other teams’ repositories
  • participating in the team’s discussions around what to develop and provide technical insights
  • interact with external teams when an integration is needed
  • onboard newcomers and mentoring more junior engineers
  • complying and contributing to the technical best practices

Involved technologies Link to heading

In “Intermediari” team, we used:

  • Rust - as the backend language
  • Actix Web - as the web framework
  • Diesel - as the go-to ORM
  • DataDog - as the observability platform
  • EKS - as the container orchestrator
  • GitHub - as VCS and CI
  • PostgreSQL - as the RDBMS
  • Elm - as the frontend language
  • Robot Framework - as the e2e automated testing framework
  • Braintree - as the payments’ provider
  • Drone - for the CD

When contributing to other µservices, technologies also implied:

  • Elixir - as one of the main backend languages
  • PHP - as the Prima’s monolith backend language