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
Write effective, scalable code
Develop back-end components to improve responsiveness and overall performance
Integrate user-facing elements into applications
Test and debug programs
Improve functionality of existing systems
Implement security and data protection solutions
Assess and prioritize feature requests
Coordinate with internal teams to understand user requirements and provide technical solutions
Must have
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
Have an Agile Mindset
Nice to have
Restful/SOAP service oriented applications
Other Functional programming languages would be a strong asset
IT Security (authentication, authorization, cryptography, certificate mgmt., etc.)
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
Languages
English: B2 Upper Intermediate
Seniority
Senior