Tech Stack
AkkaCloudDockerGoJavaJavaScriptKubernetesMicroservicesMongoDBNode.jsNoSQLPythonRxJava
About the role
- Develop and maintain high-availability Java applications that can be high-volume and low-latency.
- Work on high-traffic systems handling over 1 billion messages a day and dozens of scalable services.
- Develop new features, optimize performance, ensure data security, and solve complex technical challenges within a microservices architecture.
- Use non-blocking and reactive approaches, Cloud services, and NoSQL databases.
- Plan, design, define application objectives and functionality, and ensure designs conform with business goals.
- Support continuous improvement, investigate alternatives and technologies, and present for architectural review.
- Work closely with Product and Architects teams on large mission-critical systems in a highly motivated team.
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.
- Advantage: Knowledge of C++.
- Advantage: Experience with other server-side languages such as Node.js, Go, Python.
- Advantage: Experience working with remote teams.