Dice is the leading career destination for tech experts at every stage of their careers. Our client, iCUBE Solutions, is seeking the following. Apply via Dice today!
Job Title: Senior Software Engineer Scala
Location: Remote
Experience: 8 years
About the Role:
We are seeking a highly skilled Senior Software Engineer with strong expertise in Scala backend development to join our growing engineering team. The ideal candidate will have deep experience building and scaling backend systems using microservices architecture, and possess a solid understanding of software design patterns, CI/CD pipelines, and cloud technologies (preferably AWS).
You will play a critical role in designing and implementing high-performance, scalable, and reliable backend systems that power our core products.
Key Responsibilities:
- Design, develop, and maintain scalable backend services using Scala.
- Architect and implement microservices with a focus on performance and maintainability.
- Apply best practices in software engineering and design patterns to write clean, efficient, and testable code.
- Collaborate with cross-functional teams including product managers, frontend developers, and DevOps.
- Drive continuous integration and deployment practices using CI/CD tools.
- Utilize AWS services to build cloud-native solutions.
- Participate in code reviews and provide mentorship to junior team members.
- Troubleshoot production issues and contribute to ongoing improvements in system performance and reliability.
Required Skills and Qualifications:
- 5 7 years of professional experience in backend development with Scala.
- Strong experience with microservices architecture and distributed systems.
- Solid understanding of object-oriented and functional programming principles.
- Experience with software design patterns and system design.
- Hands-on experience with CI/CD pipelines (e.g., Jenkins, GitLab CI, CircleCI).
- Proficiency with AWS services (e.g., EC2, S3, Lambda, ECS, RDS).
- Experience with RESTful APIs and message-based systems (Kafka, RabbitMQ, etc.).
- Familiarity with Docker and container orchestration (e.g., Kubernetes) is a plus.
- Strong problem-solving skills and attention to detail.
- Excellent communication and collaboration abilities.
Nice to Have:
- Knowledge of other JVM languages (e.g., Java).
- Exposure to infrastructure as code (e.g., Terraform, CloudFormation).
- Experience in Agile/Scrum methodologies.
- Open-source contributions or public projects.