Description

Key Responsibilities:

  • Develop, maintain, and optimize backend services using Scala (Cats, Cats Effect) and Java (8 & 17).
  • Design and implement purely functional, type-safe, and concurrent systems.
  • Build scalable, resilient, and event-driven microservices.
  • Develop RESTful and gRPC-based microservices with efficient inter-service communication.
  • Implement API gateways, service discovery, and circuit breakers for a robust microservice architecture.
  • Ensure system scalability, fault tolerance, and performance optimization using event-driven architectures like Kafka, Pulsar, or RabbitMQ.
  • Use profiling, monitoring, and observability tools (Prometheus, Grafana, ELK) to optimize system performance.
  • 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.
  • Follow best practices for functional programming, including monads, type classes, and category theory concepts.

Preferred Skills & Experience:

  • Strong expertise in Scala and functional programming paradigms.
  • Hands-on experience with Cats, Cats Effect, and other functional libraries (FS2, ZIO, Doobie).
  • Solid experience with Java 8 & 17, including Streams, CompletableFuture, and modern Java features.
  • Strong understanding of microservices architecture and best practices.
  • Experience in asynchronous and reactive programming in both Scala and Java.
  • Familiarity with frameworks like http4s, Akka, Play Framework (Scala) and Spring Boot, Micronaut, Quarkus (Java).
  • Knowledge of databases (SQL and NoSQL) and data streaming technologies (Kafka, Pulsar, etc.).
  • Strong understanding of testing strategies (ScalaTest, MUnit, JUnit, TestContainers, property-based testing).
  • Experience with cloud-based architectures, Kubernetes, Docker, and CI/CD pipelines.

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.

Education

Any Graduate