2 months ago
Remote, Tunisia or Tunis, TunisiaSenior
Responsibilities
- Design, optimize, and evolve Elasticsearch data models, mappings, tokenizers, analyzers, and data types for searches across millions of large documents.
- Develop custom Elasticsearch plugins and extensions in Java for complex patent-processing requirements.
- Prepare, test, and validate major and minor Elasticsearch cluster upgrades.
- Develop and maintain the Elasticsearch query-management backend and high-performance caching systems in Java.
- Design and optimize bulk and batch data-ingestion programs and real-time index-update flows.
- Analyze cluster search and indexing throughput, latency, JVM utilization, garbage collection, and heap usage to drive performance improvements.
- Act as the technical reference during production incident investigations involving slow queries and unstable nodes.
- Perform application-level capacity planning, including shard, segment, and node sizing.
Requirements
- Expert knowledge of Elasticsearch architecture, including Lucene, sharding, segments, index lifecycle, advanced aggregations, Query DSL, and text-document indexing and search.
- Excellent command of Java Core, concurrency, and performance for backend, pipeline, and ideally Elasticsearch plugin development.
- Strong knowledge of JVM tuning, garbage-collection log analysis, thread dumps, and heap dumps.
- Knowledge of Python and data-manipulation libraries, particularly pandas.
- Knowledge of Maven, Git, and Docker.
- Excellent written and spoken French for daily interaction with the France-based team.
- Autonomy, rigor, analytical investigation skills, and the ability to own optimization topics end to end.
