Senior Java/Kotlin Developer, Toloka

Toloka is a crowdsourcing platform uniting millions of people worldwide who collect and process data to deliver superior data solutions to customers globally. Crowdsourcing is used in machine learning, research, testing, technical support, and moderation. Our crowd-labeled data is essential to the work of IT companies, marketplaces, banks, manufacturing and retail organizations, and customers in other industries.

We're launching new services and scaling the product. As we work in small results-oriented product teams, we’re looking for new people to make various ideas happen. We need an experienced and vigorous Java developer who will get the job done and enrich our team with knowledge, expertise, and experience.

Our technology stack:

  • Java and Kotlin backend, JDK 11, Spring Framework (Boot, Data, Security), Kotlin (Ktor, Koin)
  • Microservice architecture
  • HTTP REST and GRPC API
  • Build with Gradle
  • PostgreSQL, MongoDB, Redis, ClickHouse, Azure Cosmos DB for data storage
  • Integration and unit tests on Groovy and Spock
  • CI/CD on TeamCity
  • Service deployment in Kubernetes and Docker
  • Code repositories on GIT and Bitbucket

Responsibilities:

  • Design and develop new functionality
  • Actively interact with product managers to find optimal business solutions
  • Take responsibility for the work of your product team
  • Improve common internal processes like code reviews, shifts, and releases
  • Oversee large parts of the service
  • Handle increased load on the service by solving problems related to scaling and sharding the system and multi-cloud installation maintenance
  • Develop Toloka as an open platform that allows third-party companies to enrich it with their solutions
  • Expand the set of products available to customers using ML solutions
  • Work on algorithms to improve the quality of platform data (task recommendations, performer quality prediction, anti-fraud)

Qualifications:

  • Ability to write effective, simple, clean code
  • Experience in the industrial development of services in Java or Kotlin within a similar ecosystem
  • Ability to understand situations before offering a solution, know the pros and cons of your proposed solutions and be prepared to justify them
  • Knowledge of how to understand someone else's code and conduct meaningful reviews
  • Intolerance of low-quality code and solutions along with an ability to calmly propose and justify a clear plan for change
  • Capable of planning your work competently, meeting deadlines, breaking down large tasks, and delegating to team members
  • Experience working with distributed systems in a microservice architecture or desire to understand and work with them
  • Spoken and written fluency in English
Application submitted.
Thank You!
Sun Dec 05 2021 23:51:08 GMT+0300 (Moscow Standard Time)