Senior Software Engineer - Confluent
IBM · Bangalore
Collected role description
Role overview
Senior Software Engineer - Confluent at IBM
Responsibilities
- Design, implement, test, and maintain Kafka client features for supported non-Java languages.
- Build expertise in the architecture and operation of Kafka protocol.
- Contribute to design documents, One Pagers, KIPs, technical proposals, and implementation plans.
- Review pull requests and provide constructive feedback on correctness, performance, API design, testing, and operability.
- Collaborate effectively with Kafka core, cloud, platform, support, documentation, and other engineering teams to unblock delivery.
- Help teammates solve technical problems and share knowledge within the team.
Employment details
- Location: Bangalore [India]
Application details
- Participate in the interview process after calibration and contribute to maintaining a strong engineering hiring bar.
About the employer
- At Confluent, an IBM Company, we are pioneering a fundamentally new category of data infrastructure focused on data streaming.
Additional role details
- Our cloud-native offering is designed to connect and process data in real time across every application, database, and data system—creating a new foundation for modern architectures.
- We believe our best work comes from diverse perspectives, authentic collaboration, and a shared commitment to earning our customers’ love.
- We operate as One Team, working across functions, assuming positive intent, and optimizing for the success of Confluent as a whole.
- We’re committed to building an inclusive environment where everyone can do their best work and grow.
- Independently deliver well-defined components of larger features with high quality and predictable execution.
- Develop production-quality code with strong testing, logging, error handling, compatibility, and maintainability.
- Investigate and resolve complex client issues involving reliability, performance, protocol behavior, connectivity, and failure handling.
- Participate in production operations and on-call responsibilities, using established runbooks and processes to diagnose and mitigate incidents.
- Improve client observability, test coverage, developer experience, documentation, and operational readiness.
- Strong proficiency in Rust Medium proficiency in C/C++, Go, Python, or .NET, with the ability to learn and contribute across language bindings.
- Strong software-engineering fundamentals, including data structures, algorithms, concurrency, networking, memory management, and API design.
- Ability to write production-quality code with comprehensive testing, logging, error handling, observability, and backward compatibility.
- Experience diagnosing performance, latency, resource utilization, and reliability issues through profiling, metrics, logs, and debugging.
- Familiarity with Linux-based production environments, release processes, operational tooling, and runbook-driven incident response.
- Ability to understand and contribute to system architecture, technical proposals, One Pagers, KIPs, and code reviews.
- Experience collaborating across teams and independently delivering well-defined components of larger technical projects.
- Understanding of Kafka fundamentals: topics, partitions, producers, consumers, consumer groups, offsets, rebalancing, delivery semantics, transactions, and security.
- Experience designing and implementing reliable client libraries or distributed systems.
- India Software Engineering Remote Professional Bangalore, IN Bangalore (0063) IBM India Private Limited Debugging Engineering Front-end Development Integration Readiness Software Testing Agile Coding Continuous Integration/Continuous Delivery Back-end Development Collaboration Unit Testing Confluent Continuous Integration/Continuous Delivery Pipelines Stakeholder Requirements DevOps Engineering