Tech Stack
AkkaCloudDockerGoJavaJavaScriptKubernetesMicroservicesMongoDBNode.jsNoSQLPythonRxJava
About the role
- Develop and maintain high-traffic backend services handling over 1 billion messages a day and dozens of scalable services.
- Planning, designing, developing and maintaining Java high-availability applications that can be high-volume and low-latency.
- Develop new features, optimize performance, ensure data security, and solve complex technical challenges within a microservices architecture.
- Use Java with non-blocking and reactive approaches, Cloud services, and NoSQL databases.
- Define application objectives and functionality and ensure application designs conform with business goals.
- Support continuous improvement, investigate alternatives and technologies, and present for architectural review.
- Work closely with Product and Architects teams in a highly motivated team on large mission-critical systems.
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.