Sharp Decisions is a company that specializes in information services, and they are seeking a skilled Software Engineer to join their team. The ideal candidate will work on a Scala-based data processing platform, focusing on designing, developing, and maintaining scalable services that manage large volumes of data.
Responsibilities:
- Designing, developing, and maintaining robust, scalable services that process and manage large volumes of data
Requirements:
- Proficiency in Scala, with experience using sbt for build management
- Strong understanding of functional programming concepts
- Experience with JSON serialization/deserialization (e.g., Circe)
- Familiarity with cloud platforms (AWS and/or GCP), including authentication and authorization mechanisms (IAM, STS, AssumeRole, WebIdentity)
- Experience integrating with AWS SDKs (S3, STS) in Scala
- Experience with Google BigQuery and Dataflow for data processing and analytics
- Experience with SQL and PostgreSQL for data storage and querying
- Experience with asynchronous and concurrent programming (e.g., using FS2, cats-effect)
- Familiarity with distributed messaging systems (e.g., Google Pub/Sub)
- Ability to test and validate code effectively, with experience in unit, component, and integration testing
- Ability to troubleshoot and resolve issues in distributed, cloud-based environments
- Experience with version control systems (Git) and collaborative development workflows
- Strong problem-solving and debugging abilities
- Effective communication and collaboration in a team setting
- Ability to write clear, maintainable, and well-documented code
- Bachelors degree in Computer Science or related field, or equivalent experience
- 3+ years of professional software engineering experience, preferably in data engineering or backend systems
- Experience with Finagle or similar RPC frameworks
- Familiarity with data pipeline orchestration and workflow management
- Knowledge of containerization and deployment in Kubernetes environments