Roles and responsibilitiesDevelop well-designed, performant and scalable microservicesWrite reusable, testable, and efficient code that follow software development best practicesIntegrate data storage solutions including databases, key-value stores, blob stores, etc.
Expose business functionality to frontend / mobile applications and partner systems through secure and scalable APIs.Build integrations with 3rd party applications through apis’ to ingest and process dataEnsure security and data protection aspects within the applicationsContribute to devops by building CD / CI pipelines to automate releasesEnsure high performance and availability of distributed systems and applicationsInteract directly with client project team members and operational staff to support live customer deployments and production issues.
Requirements4+ years of experience in developing applications using Scala and related technologies.Thorough understanding of multithreading concepts and async execution using Actor model.
Thorough understanding of Play framework, GraphQL and GRPC technologies.Experience in using DAL and ORM (Object Relational Mapper) libraries for data access.
Experiencing in developing and hosting APIs and integration with external applications.Experience in building data models and repositories using relational and NoSql databases.
Knowledge of JIRA, Bitbucket and agile methodologies.Good to have knowledge of AWS services like Lambda, dynamodb, kinesis and others.
Understanding of fundamental design principles behind a scalable application.Familiarity with event-driven programming and distributed architectures.
Strong unit test and debugging skillsAffinity for learning and applying new technologies and solving new problemsEffective organizational skills with strong attention to detailExperience in working with docker is a plusComfortable in working with Unix / Linux environmentStrong communication skills both written and verbal Skills : - Scala, ORM, Amazon Web Services (AWS), JIRA Agile and Play Framework