Tech Stack
AkkaCloudDockerGoJavaJavaScriptKubernetesMicroservicesMongoDBNode.jsNoSQLPythonRxJava
About the role
- Planning, designing, developing and maintaining Java high-availability applications that can be high-volume and low-latency.
- Define application objectives and functionality.
- Ensure application designs conform with business goals.
- Support continuous improvement, investigating alternatives and technologies, and presenting for architectural review.
- Work in a highly motivated team, closely with Product and Architects teams on large mission-critical systems.
- Develop and maintain high-traffic systems (over 1 billion messages a day) and dozens of scalable services; ensure fast and reliable platform operation.
- Develop new features, optimize performance, ensure data security, and solve complex technical challenges within microservices architecture using Java, non-blocking/reactive approaches, Cloud services, and NoSQL databases.
Requirements
- At least 7 years of experience as a Backend Developer, with at least 3 years in Java.
- Advanced knowledge of Java, from frameworks to libraries.
- Experience in Async and/or reactive Java frameworks (such as Vertx, Rxjava, Akka).
- Advanced knowledge of unit testing frameworks and mocking.
- Knowledge of cloud technologies.
- Experience with large scale NoSQL database (such as Couchbase, MongoDB).
- Experience with microservices development based on Docker and Kubernetes.
- Experience with Agile methodology.
- Striving for new knowledge and skill improvement.
- Fluent in written and spoken English (interviews are in English).
- Excellent oral and written communication skills.
- Higher technical education.
- Advantages: Knowledge of C++.
- Advantages: Experience with other server-side languages such as Node.js, Go, Python.
- Advantages: Experience working with remote teams.