BackendSMBEnterprise

Scala Developer

[Company Name] is looking for a Scala Developer to design and build high-throughput backend services and data processing systems. You will work with a modern Scala stack on the JVM, writing type-safe, functional code that powers critical business systems. This role is ideal for engineers who appreciate strong type systems and functional programming on the JVM.

Key Responsibilities

  • Design and implement backend services and libraries in Scala
  • Build data processing pipelines using Apache Spark or Akka Streams
  • Write well-typed, functional code with comprehensive property-based and unit tests
  • Collaborate with data engineering and platform teams on shared infrastructure
  • Optimize JVM application performance, garbage collection, and resource utilization
  • Participate in architecture reviews and technical design discussions
  • Mentor junior developers on functional programming patterns and Scala idioms

Required Skills & Experience

  • 3+ years of professional Scala development
  • Strong understanding of functional programming (immutability, higher-order functions, monads)
  • Experience with Scala build tools (sbt) and testing frameworks (ScalaTest, Specs2)
  • Familiarity with JVM internals (garbage collection, threading, memory model)
  • Experience with relational databases and SQL
  • Understanding of concurrency patterns (Akka actors, Cats Effect, or ZIO)
  • Comfortable with CI/CD and version control (Git)

Nice-to-Have

  • Experience with Apache Spark for large-scale data processing
  • Familiarity with Scala 3 features and migration patterns
  • Background in distributed systems or microservices architectures
  • Experience with Kafka or other event streaming platforms
  • Knowledge of category theory concepts as applied in libraries like Cats or Scalaz

Tech Stack

ScalasbtAkkaCats / ZIOApache SparkKafkaPostgreSQLDockerKubernetes

What We Offer

  • Competitive salary and equity package
  • Flexible remote or hybrid work arrangement
  • Health, dental, and vision insurance
  • Annual learning and development budget
  • Generous PTO policy

Interview Process

  1. 1Recruiter phone screen (30 min)
  2. 2Technical screen: Scala and functional programming fundamentals (60 min)
  3. 3System design interview: designing a data-intensive service (60 min)
  4. 4Pair programming exercise in Scala (60 min)
  5. 5Hiring manager conversation on team and role fit (45 min)