Senior Software Engineer - Jvm Language Clients

ClickHouse ClickHouse · Data AI · EMEA · Engineering

Senior Software Engineer role focused on the JVM language clients for ClickHouse, specifically the Java client and JDBC driver. Responsibilities include roadmap, API design, performance optimization, and supporting internal and external partners. Requires strong Java/JVM expertise and experience with data-intensive systems.

What you'd actually do

  1. Own the Java client and JDBC driver end-to-end: roadmap, API design, performance, release engineering, and partner-facing support.
  2. Drive throughput and latency work across the client and ClickHouse server
  3. Partner day-to-day with the Connectors team as an embedded internal customer: understand what their connectors need from the driver, and ship it.
  4. Engage directly with external partners across data ingestion, and data visualization on interoperability, regressions, and roadmap alignment.
  5. Ship visible, measurable wins in throughput, stability, and developer experience.

Skills

Required

  • Java
  • JVM
  • Data-intensive systems
  • Library development
  • API design
  • Concurrency
  • Database fundamentals
  • SQL
  • Open-source contribution

Nice to have

  • JDBC internals
  • ADBC
  • Arrow / Arrow Flight SQL
  • Wire protocols
  • Network client development
  • ClickHouse
  • Columnar/OLAP engines

What the JD emphasized

  • 5+ years of software engineering experience with a significant portion focused on data-intensive systems: drivers, SDKs, ingestion, CDC, streaming, or analytics.
  • Deep Java and JVM expertise: memory model, GC tuning, profiling, and the ability to reason about throughput and latency at the level of bytes on the wire.
  • Hands-on experience building or substantially extending a library that other engineers depend on. You understand that API design compounds, and that a breaking change in a widely used library is a very different thing from a breaking change in an application.
  • Solid instincts on concurrency in the JVM: executors, reactive streams, backpressure, connection pooling, and the failure modes that come with each.
  • Thoughtful, transparent use of modern AI development tools (Claude Code, Cursor, Copilot, or equivalents) combined with strong independent design and code review judgment. We expect engineers to lean on AI where it's genuinely helpful and to be explicit about where they didn't. Resistance to AI tooling is a mismatch for this team and so is over-reliance without the underlying engineering depth to review what comes out.