company logo

Scala Engineer

Axiom Software Solutions Limited

Office

Amsterdam, North Holland, Netherlands

Full Time

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.

Scala Engineer

Office

Amsterdam, North Holland, Netherlands

Full Time

August 10, 2025

company logo

Axiom Software Solutions Limited