Senior Software Engineer - JVM Language Clients
WFA Digital Insight
The demand for skilled software engineers, particularly those with expertise in data-intensive systems, has been on the rise. With the growth of real-time analytics, companies are seeking professionals who can develop and maintain efficient database drivers. ClickHouse, a leader in this space, is looking for a Senior Software Engineer to join their team. As the company continues to expand, this role offers a unique opportunity to work on the JVM foundation that powers their ecosystem. Candidates should be prepared to showcase their Java and JVM expertise, as well as their experience with API design and database fundamentals.
Job Description
About the Role
The Senior Software Engineer position at ClickHouse is a key role that focuses on the development and maintenance of the Java client and JDBC driver. This foundation is crucial for the company's connectors team and external frameworks, enabling them to seamlessly interact with ClickHouse. As a senior engineer, you will be responsible for ensuring that the Java client and JDBC driver provide a fast, reliable, and well-designed foundation for engineers to build upon.The Integrations Ecosystem org at ClickHouse is responsible for building and maintaining connections between ClickHouse and the broader data world. This team ensures that ClickHouse feels native in any stack, providing low-level database drivers, ingestion and CDC pipelines, data framework integrations, and BI connectivity.
The Language Clients team, which this role is a part of, provides the JVM foundation that everything else in the ecosystem is built upon. You will be working closely with the Connectors team and external partners to understand their needs and ship features that meet those requirements.
What You Will Do
- Own the Java client and JDBC driver end-to-end, including roadmap, API design, performance, release engineering, and partner-facing support
- Drive throughput and latency work across the client and ClickHouse server
- Partner day-to-day with the Connectors team to understand their needs and ship features that meet those requirements
- Engage directly with external partners across data ingestion and data visualization on interoperability, regressions, and roadmap alignment
- Ship visible, measurable wins in throughput, stability, and developer experience
- Bring opinions, artifacts, and written proposals to shape where the team invests next
- Collaborate with the team to drive technical innovation and excellence
- Participate in code reviews and ensure high-quality code
- Stay up-to-date with industry trends and emerging technologies
- Contribute to the development of the company's technical strategy
What We Are Looking For
- 5+ years of software engineering experience with a significant portion focused on data-intensive systems
- Deep Java and JVM expertise, including memory model, GC tuning, profiling, and the ability to reason about throughput and latency
- Hands-on experience building or substantially extending a library that other engineers depend on
- Strong grasp of database fundamentals, including SQL, query execution, and analytical/OLAP workloads
- Judgment about when to lean on framework abstractions versus when to drop down to the protocol
- Solid instincts on concurrency in the JVM, including executors, reactive streams, backpressure, connection pooling, and failure modes
- Experience with modern AI development tools
- Excellent communication and collaboration skills
- Ability to work in a fast-paced, dynamic environment
Nice to Have
- Experience with Adjust and Excel
- Knowledge of cloud-based technologies and cloud-native applications
- Familiarity with agile development methodologies
- Experience with DevOps practices and tools
Benefits and Perks
- Competitive salary and benefits package
- Opportunity to work with a leading company in the real-time analytics space
- Collaborative and dynamic work environment
- Professional development and growth opportunities
- Flexible working hours and remote work options
- Access to cutting-edge technologies and tools
- Recognition and reward for outstanding performance
How to Stand Out
- When applying, be sure to highlight your experience with Java and JVM, as well as your understanding of database fundamentals.
- Showcase your ability to work collaboratively and communicate effectively with both technical and non-technical stakeholders.
- Be prepared to provide examples of your experience with API design and development, as well as your ability to reason about throughput and latency.
- Emphasize your passion for innovation and your desire to work with a leading company in the real-time analytics space.
- Research the company culture and values, and be prepared to discuss how you align with them.
- Practice your coding skills and be prepared for a technical interview.
- Don't be afraid to ask questions about the role, the team, and the company during the interview process.
This is a remote position listed on WFA Digital, the platform for professionals who work from anywhere. Browse more remote jobs across all categories.