Talent.com
Deze vacature is niet beschikbaar in je land.
Scala Engineer

Scala Engineer

Axiom Software Solutions LimitedAmsterdam, North Holland, NL
30+ dagen geleden
Vacaturetype
  • Quick Apply
Functieomschrijving

Role : Scala Engineer

Location : Amsterdam, Netherlands.

Duration : 6-12 month contract

Working Mode : Hybrid

Job Description :

Key Responsibilities :

  • Develop, maintain, and optimize backend services using Scala (Cats, Cats Effect) and Java (8 & 17).
  • Leverage the Cats library and other functional programming tools to build composable and effectful applications.
  • Implement and maintain purely functional, type-safe, and concurrent systems.
  • Work with Java 8 & 17 features like Streams, CompletableFuture, Records, Sealed Classes, and Virtual Threads.
  • Design scalable, resilient, and event-driven microservices using both Scala and Java.
  • Develop RESTful and gRPC-based microservices with efficient inter-service communication.
  • Implement API gateways, service discovery, and circuit breakers for robust microservice architectures.
  • Ensure scalability and fault tolerance using event-driven architectures (Kafka, Pulsar, RabbitMQ, etc.).
  • Optimize service performance through profiling, monitoring, and observability tools (Prometheus, Grafana, ELK, etc.).
  • Write clean, maintainable, and testable code with a focus on immutability and referential transparency.
  • Collaborate with cross-functional teams, including frontend, DevOps, and QA, to deliver high-quality solutions.
  • Continuously improve code quality and system performance through profiling, benchmarking, and testing.
  • Follow best practices for functional programming, including monads, type classes, and category theory concepts where applicable.
  • Participate in code reviews, mentoring, and knowledge-sharing sessions.

Required Skills & Experience :

  • Excellent knowledge of microservices architecture and best practices.
  • Strong proficiency in Scala and functional programming paradigms.
  • Hands-on experience with Cats, Cats Effect, and functional libraries like FS2, ZIO (optional), or Doobie.
  • Good understanding of monads, functors, type classes, and algebraic data types (ADTs).
  • Solid experience in Java 8 & 17, including Streams, CompletableFuture, and new language features.
  • Experience building and maintaining high-concurrency, distributed systems.
  • Knowledge of asynchronous and reactive programming principles in both Scala and Java.
  • Familiarity with frameworks like http4s, Akka, Akka HTTP, Play Framework (Scala) and Spring Boot, Micronaut, Quarkus (Java).
  • Experience working with databases (SQL and NoSQL) and data streaming technologies (Kafka, Pulsar, etc.).
  • Strong knowledge of testing strategies (ScalaTest, MUnit, JUnit, TestContainers, property-based testing).
  • Understanding of cloud-based architectures and containerization (AWS, Kubernetes, Docker).
  • Strong knowledge of CI / CD pipelines, DevOps, and Infrastructure as Code (Terraform, Helm, Ansible).
  • Nice to Have :

  • Knowledge of ZIO and other FP-based libraries.
  • Experience with GraphQL and gRPC.
  • Open-source contributions or blogs on Scala / functional programming.
  • Soft Skills :

  • Passion for functional programming and problem-solving.
  • Strong analytical and debugging skills.
  • Ability to work in an agile and collaborative environment.
  • Excellent communication skills and a proactive attitude.