Job Software Developer/ Engineer/ Architect

Principal Software Engineer - Search Team

We use mainly Java and Scala, and we are looking for candidates excited by micro services, search technologies, multi-threading, concurrency and solving interesting distributed systems design questions. We are looking for skilled and enthusiastic software engineers to be part of our dynamic team to make a difference in developing our platform and services which is used by Fortune 500 companies around the world.


This role requires strong skills in design, development, testing, release, support and enhancement of highly visible / customer-facing software using an agile development methodology.  You will collaborate with product management and development team members to define and drive solutions and track deadlines.

  • 8 years of Java and/or Scala development
  • Great understanding of more than one programming language, such as Java, Scala, Python, Ruby etc.
  • Familiarity with Linux servers and shell scripting
  • Strong knowledge of build and configuration systems
  • Strong mentoring skills
  • Deep knowledge of software engineering development methodologies and approaches
  • Demonstrable ability to drive quality of products
  • Experience in troubleshooting production issues
  • Experience with Lucene, Elasticsearch or other search platforms
  • Experience with or understanding of search and relevance techniques
  • Knowledge in SQL
  • Experience of general information retrieval patterns and techniques
  • Experience with distributed streaming platforms such as Kafka, Spark, Hadoop or similar open-source frameworks
  • Experience with cloud-based architecture (e.g. Amazon Web Services)