Scala Developer
Role details
Job location
Tech stack
Job description
Key Responsibilities: * Design and develop scalable distributed systems using Scala for high- throughput backend services
-
Build and maintain large-scale data processing pipelines using Apache Spark in production environments
-
Develop real-time and batch data processing workflows including Spark Structured Streaming solutions
-
Design and implement cloud-native applications deployed on Google Cloud Platform
-
Build event-driven architectures using messaging and streaming systems
-
Develop frontend applications using functional reactive UI architecture with Laminar
-
Implement shared type-safe models across backend and frontend systems
-
Optimize system performance across JVM, Spark, and distributed compute layers
-
Work on Kubernetes-based deployments and containerized microservices architecture
-
Collaborate with platform, data engineering, and infrastructure teams on system design and scaling
-
Perform debugging, performance tuning, and production support for distributed systems
-
Contribute to architecture decisions for high-scale, low-latency data platforms
Required Technical Expertise
Requirements
-
10+ years of software engineering experience
-
6+ years of production experience with Scala
-
6+ years of hands-on experience with Apache Spark using Scala (PySpark-only profiles will not be considered)
-
Strong expertise in JVM internals, memory management, and performance tuning
-
Deep understanding of functional programming principles (immutability, higher-order functions, monads)
-
Strong experience in concurrent and distributed system design
-
Strong experience with Spark Structured Streaming
-
Deep understanding of Spark internals (Catalyst optimizer, Tungsten execution engine)
-
Experience handling multi-terabyte distributed workloads
-
Strong knowledge of columnar data formats (Parquet, Avro, ORC)
-
Experience with Delta Lake or Apache Iceberg (preferred)
-
Experience with event streaming systems such as Apache Kafka
-
Strong production experience on Google Cloud Platform
-
Hands-on experience with Google Kubernetes Engine, Dataproc, BigQuery, Pub/Sub, Cloud Storage
-
Experience with Terraform and infrastructure-as-code on Google Cloud Platform
-
Strong Kubernetes and container orchestration experience
-
Production experience building UIs using functional reactive programming with Laminar
-
Strong understanding of FRP (Functional Reactive Programming), Reactive streams and event-driven UI design
-
Experience building complex single-page applications using Laminar
-
Experience designing shared domain models between frontend and backend
-
Experience integrating frontend UI with REST/gRPC backend services
-
Knowledge of SBT multi-module builds for frontend-backend shared codebases
-
Understanding of type-safe frontend architecture patterns in Scala ecosystem
-
Experience with UI state management in functional programming style
-
Experience with Akka clustered systems
-
Strong understanding of Event sourcing, CQRS architecture, eventually consistent systems, CAP theorem trade-offs
-
Experience designing fault-tolerant distributed systems
-
Experience with microservices architecture at scale
-
Experience with Cats Effect, ZIO, FS2, Monix
-
Advanced functional programming design patterns
-
Tagless-final architecture (preferred)
-
JVM garbage collection tuning (G1 ZGC)
-
Spark job optimization and cluster tuning
-
Linux system-level performance troubleshooting
-
Distributed system resource optimization
-
Scala 3 experience
-
Monocle optics library
-
GraalVM native image compilation
-
Internal platform dashboard development using Laminar
-
Open-source Scala ecosystem contributions
-
Real-time observability systems