Role & responsibilities
Elasticsearch Administration:
- Install, configure, and manage Elasticsearch clusters.
- Optimize cluster performance, including shard management and indexing strategies.
- Monitor and maintain cluster health, performance, and security.
- Perform regular backups, recovery operations, and upgrades of Elasticsearch clusters.
- Manage Elasticsearch plugins and integration with other systems.
- Manage pipelines via Kafka topics.
- Migrate from beats to Fleet based management.
Elasticsearch Development:
- Design and implement search solutions using Elasticsearch, including indexing, query processing, and data modeling.
- Write and optimize complex queries and aggregations.
- Experience with data ingest, Extract, Transform, and Load (ETL) techniques preferable Logstash and Beats.
- Integrate Elasticsearch with other data sources and applications.
- Write efficient queries to extract data from Elasticsearch as a possible payload for visualization in an external dashboard.
Technical Requirements:
Operating Systems:
- Proficiency with Linux and Windows operating systems.
Programming Languages:
- Proficiency in Java, DotNet and/or Python.
- Experience with other languages such as Scala or Go is a plus.
Scripting Languages:
- Expertise in scripting with Bash, Python, or Perl.
Database Technologies:
- Experience with SQL and NoSQL databases.
- Experience with database query languages like SQL, T-SQL, KQL.
DevOps and Automation:
- Experience with CI/CD pipelines, Docker, Kubernetes, and configuration management tools like Ansible or Puppet.
Architectural and Design Skills:
- Ability to design and architect scalable, high-performance search solutions.
- Experience with distributed systems and microservices architecture.
- Strong understanding of data structures, algorithms, and software design patterns.
- Excellent communication, and relationship skills to articulate advanced technical topics and build consensus.
Additional Responsibilities:
- Collaborate with cross-functional teams to gather requirements and develop search solutions.
- Troubleshoot and resolve issues related to Elasticsearch infrastructure and applications.
- Provide mentorship and guidance to junior developers.
- Stay updated with the latest developments in Elasticsearch and related technologies.
- Participate in on-call rotation and provide support for production environments.