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.
If an employer mentions a salary or salary range on their job, we display it as an "Employer Estimate". If a job has no salary data, Rise displays an estimate if available.
Our IT solutions empower organizations and individuals throughout the world to maximize value and quality to succeed in today's challenging business environment. As a fast-growing new economy company, we focus our strengths to offer world-class so...
90 jobsSubscribe to Rise newsletter