Back-end Software Engineer (Scala)

Back-end Software Engineer (Scala)

Category: Software Development

Location: Romania

Referral Reward: € 1,000 - € 2,000

Employment Type: Employment contract, B2B

Time Allocation: Full Time

Workplace Type: Remote

Remaining positions: 0

Who is this role for

Our engineering team has created a highly scalable and modular platform for businesses to customize to their unique needs. Hence, we are looking for a proactive Scala Developer (or Rust Developer willing to learn Scala) to join our team.

Position – how you’ll contribute:

  • You will be responsible for designing, building, serving, and monitoring cloud-based microservice architectures as a vital member of a high-performing cross-functional team and a community of Backend Engineers.
  • Your work will involve leveraging a cutting-edge technology stack that includes Scala, Rust, Kubernetes, RESTful APIs, Couchbase, Postgres, Docker, and more.
  • You will take ownership of the entire development cycle, from architecture design through implementation, testing, and ongoing maintenance of our products.
  • Close collaboration with Product and Service Delivery Teams, as well as your colleagues in an agile environment, will be essential.
  • Join a team that places a strong emphasis on Continuous Integration, Code Quality, Code Reviews, and Test Coverage, so your positive and committed attitude toward these practices is crucial.
  • Your primary goal is to deliver fully functional features and products, designed with a Domain-Driven mindset, thoroughly tested, and aligned with user requirements.

The experience you need to have:

  • Minimum of two years of experience with the Scala programming language.
  • Familiarity with both relational (e.g., Postgres) and non-relational databases (e.g., Couchbase, Redis, Cassandra/Scylla).
  • Experience with Enterprise Message Buses, such as Kafka or RabbitMQ.
  • Experience in creating HTTP APIs and a strong understanding of the HTTP stack.
  • Proficiency in asynchronous programming using Futures, IO, Task, or ZIO.
  • Knowledge of the Typelevel stack.
  • Strong problem-solving skills with the ability to delve into code.
  • An "you built it, you run it" approach, demonstrating a commitment to taking ownership of services and applications at scale.
  • A "contract first" approach for APIs and integrations.
  • Strong team player, with leadership skills being an asset.
  • Excellent communication skills, including fluency in English to communicate effectively with clients.

Additional skills – the edge you have:

  • Experience with Kubernetes (k8s).
  • Proficiency with Cats (a library for functional programming in Scala).
  • Strong background in Pure Functional Programming.
  • Familiarity with libraries and frameworks such as http4s, doobie, fs2, fs2-kafka, and circe.
  • Knowledge of the Tagless Final pattern.