Dice is the leading career destination for tech experts at every stage of their careers. Our client, Executive Software Guild, is seeking the following. Apply via Dice today!
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:
- 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