Senior Java Developer (Database Engine)
Прямой работодатель Querify Labs ( querifylabs.com )
Опыт работы более 5 лет
About the Role
In this role, you will collaborate closely with a technical project lead and other team members to design and implement various database components. You will tackle challenging technical problems that often lack straightforward solutions, including, but not limited to:
- Query engines: relational operators, vectorized and compiled execution, resource scheduling.
- Cost-based query optimizers: relational optimization rules, statistics gathering, join graph enumeration.
- Storage layers: recovery, concurrent access, indexes, data spilling.
- Distributed algorithms: transaction protocol, data replication fault-tolerance.
We develop new databases in Java and C++. Additionally, we use:
- Apache Calcite for query optimization.
- Apache Arrow for vectorized and columnar data processing.
- RocksDB for storage-related tasks.
- LLVM for compiled query engines.
You Will
- Develop the system's core.
- Analyze open-source products and academic papers in the area of data management.
- Write design documents and prove the validity of your suggestions through cross-reviews and prototypes.
- Share your knowledge with the community through blog posts and conference talks.
You Have:
- Solid knowledge of foundational algorithms and data structures, and high motivation to learn theory and practice in the database and distributed systems domains.
- Strong analytical skills. Ability to grasp complex technical concepts and tie the impact of trade-offs to product goals.
- Strong knowledge of Java. Readiness to learn new languages and tooling.
- The thoughtful and empathetic mindset. A desire to partner with your teammates on challenging problems.
- Ability to communicate in English, both written and spoken.
Will be a plus:
- Research publications.
- Experience with databases or distributed systems.
- Experience with parallel algorithms and concurrency.
- Experience with big data stacks (Apache Spark, Apache Flink, etc).
We Offer:
- Working in a team of experts in the areas of data management and distributed systems.
- Extraordinary complex and interesting tasks.
- A competitive salary, above the market average.
- Fully remote work with flexible working hours.
- Paid sick leave and day-offs.
- Opportunity to speak at international conferences.
