Senior Software Engineer - JVM Language Clients

ClickhouseClickhouse·Remote(Canada (remote))
Software Development
AdjustExcel

WFA Digital Insight

As the demand for skilled software engineers in cloud companies grows, with a 250% year-over-year increase in ARR for innovators like ClickHouse, professionals with expertise in JVM languages and database fundamentals are in high demand. With over 3,000 customers, including global brands like Meta and Tesla, ClickHouse leads the market in real-time analytics and data warehousing. To succeed in this role, candidates should have a deep understanding of Java, JVM expertise, and experience with data-intensive systems. Before applying, consider how your skills align with the company's mission to transform data usage and what you can bring to the table.

Job Description

About the Role

The Senior Software Engineer position at ClickHouse is a pivotal role that focuses on JVM language clients, aiming to provide a fast, reliable, and well-designed foundation for engineers relying on ClickHouse's Java client and JDBC driver. As part of the Language Clients team, you will be the technical owner of ClickHouse's Java client and JDBC driver, which serves as the foundation for the company's own Connectors team and numerous external frameworks. Your primary users will be engineers from the Connectors team and the broader JVM ecosystem, including data ingestion tools, BI platforms, and data visualizations.

The role entails working closely with the Connectors team to understand their needs from the driver and shipping it, as well as engaging directly with external partners on interoperability, regressions, and roadmap alignment. You will drive throughput and latency improvements across the client and ClickHouse server, ensuring a seamless experience for users.

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 to enhance user experience.
  • Partner with the Connectors team to understand their needs from the driver and deliver solutions.
  • Engage with external partners on interoperability, regressions, and roadmap alignment to ensure seamless integration.
  • Ship visible, measurable wins in throughput, stability, and developer experience to contribute to the company's growth.
  • Collaborate with the team to shape the future of the Java client and JDBC driver through written proposals and technical leadership.
  • Participate in the design and implementation of new features and improvements to the existing codebase.
  • Troubleshoot and resolve complex technical issues to maintain high-quality service.
  • Contribute to the development of best practices and standards for software development within the team.

What We Are Looking For

  • 5+ years of software engineering experience, with a significant focus on data-intensive systems such as drivers, SDKs, ingestion, CDC, streaming, or analytics.
  • Deep Java and JVM expertise, including 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, with a strong understanding of API design and its implications.
  • Strong grasp of database fundamentals, including SQL, query execution, and analytical/OLAP workloads, as well as judgment about when to apply different approaches.
  • Excellent communication and collaboration skills to work effectively with both internal teams and external partners.
  • Ability to bring opinions, artifacts, and written proposals to shape the direction of the Java client and JDBC driver.

Nice to Have

  • Experience with cloud-based technologies and real-time analytics systems.
  • Familiarity with data ingestion tools, BI platforms, and data visualizations.
  • Knowledge of DevOps practices and tools for continuous integration and deployment.
  • Participation in open-source projects or personal coding initiatives that demonstrate expertise and innovation.

Benefits and Perks

  • Opportunity to work with a fast-growing and innovative company in the cloud industry.
  • Collaborative and dynamic work environment with a team of skilled professionals.
  • Flexible remote work arrangements to ensure a healthy work-life balance.
  • Access to the latest technologies and tools to stay updated with industry trends.
  • Professional development opportunities through training, mentorship, and conferences.
  • Competitive compensation package, including equity options and benefits, to recognize and reward your contributions.

How to Stand Out

  • To stand out, highlight your experience with JVM languages and database fundamentals in your resume and cover letter. Ensure you can discuss specific examples of how you've applied these skills in previous roles.
  • Prepare to talk about your understanding of Java, JVM, and database concepts during the interview. Practice explaining complex technical issues in a clear and concise manner.
  • Showcase your ability to collaborate with cross-functional teams and external partners by providing examples from your past experience.
  • Demonstrate your passion for innovation and your willingness to learn and adapt to new technologies and methodologies.
  • Be ready to discuss your approach to problem-solving and how you handle complex technical challenges, providing specific examples from your experience.
  • Consider creating a personal project or contributing to an open-source initiative to demonstrate your skills and dedication to potential employers.

This is a remote position listed on WFA Digital, the platform for professionals who work from anywhere. Browse more remote jobs across all categories.