[Hiring] Scala Developer @| HCL Global System
Role Description
The Scala Developer will be responsible for developing and maintaining applications using Scala and related technologies. The role requires strong hands-on experience in Scala development, particularly with functional programming libraries.
- Strong hands-on experience in Scala development with deep usage of functional programming libraries: Cats & Cats-effect (preferably Cats-effect 2).
- Experience with ZIO is highly preferred.
- Solid experience in large-scale data processing systems.
- Strong SQL expertise, especially in handling large data operations.
- Experience with distributed computing environments.
- Familiarity with data flow frameworks/tools (e.g., Dataflow or similar).
- Must be hands-on, not just theoretical knowledge.
- Client is very particular about genuine hands-on experience. Candidates heavily dependent on AI tools during interviews may not be considered.
Qualifications
- Strong proficiency in Scala with experience using sbt for build management.
- Deep understanding of functional programming principles.
- Experience with JSON processing and serialization/deserialization (e.g., Circe).
- Hands-on experience with AWS and/or GCP, including: IAM, STS, AssumeRole, WebIdentity.
- Experience integrating with AWS SDKs (e.g., S3, STS) using Scala.
- Experience with Google BigQuery and Dataflow.
- Strong knowledge of SQL and PostgreSQL.
- Experience with asynchronous and concurrent programming (e.g., FS2, Cats-effect).
- Familiarity with distributed messaging systems (e.g., Google Pub/Sub).
- Strong testing experience: unit, component, and integration testing.
- Ability to troubleshoot issues in distributed, cloud-based systems.
- Experience with Git and collaborative development workflows.
Requirements
- Experience with Finagle or similar RPC frameworks.
- Exposure to data pipeline orchestration tools.
- Experience with containerization and Kubernetes deployments.
Soft Skills
- Strong problem-solving and debugging skills.
- Excellent communication and teamwork abilities.
- Ability to write clean, maintainable, and well-documented code.
Education & Experience
- Bachelor's degree in Computer Science or related field (or equivalent experience).
- 3+ years of professional experience in software engineering, preferably in data engineering or backend systems.