Position: Scala Developer
Company: Luxoft Poland|Ukraine
Category: Scala
Experience required: 3y
English level: upper

Project Description:
Information and Document Management is a global technology change and delivery organization comprising nearly 300 individuals located mostly in Switzerland, Poland and Singapore. Providing global capturing and document processing, archiving and retrieval solutions to all business divisions focusing on supporting Legal, Regulatory and Operational functions. At the moment developing strategic project to build large-scale digital archive for documents and records, that will gradually replace all existing archiving solutions in the bank, and to build an operational document store, that should become a single point of truth for document workflows. The whole system must scale linearly, be fault-tolerant, and handle petabytes of data. Within our organization, you would be working on the Product Development project, with the SCRUM Teams consisting of Developers, DevOps, Business Analysts and Quality Analysts/Testers.
Technologies and frameworks used:
- Development is based on Scala, Java and Javascript language
- Scaled Agile Framework (SAFe) with focus on sub-streams/projects working in SCRUM
- JIRA, Confluence, PPM tools, GitHub would be mostly used by you on a daily basis
- Event Driven Architecture with Kafka as event store and Kafka Streams for event streaming
- Reactive streams for streaming data over HTTP: Akka HTTP/Streams
- Non-blocking concurrency: Akka, Monix - FP abstractions: Cats

Responsibilities:
The core development team in currently consists of 30+ persons (Developers, Testers , DevOps and Business Analysts) and is located in Wroclaw. We're looking for a person who will help us to build a new, strategic and large-scale digital archiving system for our client. We use modern technologies, e.g. Scala, Akka stack, Cats, Kafka, Gatling. We are agile.

Mandatory Skills Description:
• At least 3 years of experience building backend systems
• Experience working with Scala
• Experience working with Kafka Streams ( could be optional in case of strong Scala)
• Experience building RESTful APIs
• Experience working with distributed messaging systems such as Kafka (preferred), MQE, Rabbitmq, etc.
• Experience with TDD and BDD programming styles
• Distributed version control: Git or Mercurial
• Strong written and verbal communication skills in English
• Be able to work in multicultural work environment
• Strong problem-solving skills
• Self-organized and able to quickly learn new technologies and paradigms

Nice-to-Have Skills:
• Experience working with Akka stack: akka, akka-streams, akka-http
• Willingness to work with/learn FP libraries like Cats, Monix, Simulacrum, etc.
• Experience working with search engine technologies like ElasticSearch or Solr
• Experience working with CI/CD tools like Gitlab CI/CD, Jenkins, TeamCity
• Experience working with Docker