22 Sep
|
Persistent
|
Bengaluru
22 Sep
Persistent
Bengaluru
About Position:
We are looking for an experienced C++ Developer to join our platform engineering team and own the shared distributed messaging and networking library that serves as the communication backbone of our analytics platform. This highly scalable library enables seamless communication between packet capture, protocol analysis, decryption, and downstream processing systems with a strong focus on reliability, performance, and maintainability.
- Role: Software Developer
- Location: Gurugram, Bengaluru
- Experience: 12 to 15 Years
- Job Type: Full Time Employment
What You'll Do:
- Design, develop, and maintain a unified Pub/Sub abstraction layer supporting multiple backends including ZeroMQ, Apache Kafka, Apache Pulsar, and Redis.
- Build and enhance high-performance distributed messaging components used across the analytics platform.
- Maintain and evolve Java and Python bindings for the core C++ library while ensuring API consistency across languages.
- Design and implement scalable service discovery mechanisms using DNS-based endpoint resolution and REST APIs.
- Develop partition assignment and message routing strategies for Kubernetes-based deployments.
- Optimize performance-critical components including lock-free data structures, ring buffers, time-reorder queues, and thread affinity management.
- Implement and maintain compression capabilities using ZSTD and related technologies.
- Manage Redis and Redis Cluster integrations including connection management, protocol handling, and operational monitoring.
- Develop and support REST server and client components along with OpenAPI-based code generation frameworks.
- Define, maintain, and evolve Protocol Buffer schemas while ensuring backward and forward compatibility.
- Develop and maintain traffic filtering and event processing frameworks for efficient data delivery.
- Write comprehensive unit, integration, and performance tests across C++, Java, and Python ecosystems.
- Troubleshoot complex distributed system issues involving networking, messaging, performance, scalability, and reliability.
- Collaborate closely with platform consumers, architects, and engineering teams to evolve APIs and platform capabilities.
- Participate in architecture reviews,
design discussions, code reviews, and technical documentation activities.
- Contribute to CI/CD pipelines, automated testing practices, and release management processes.
Expertise You'll Bring:
- 12-15 years of software development experience with strong expertise in contemporary C++ (C++17 or later).
- Extensive experience designing and maintaining reusable libraries, SDKs, or platform components.
- Strong understanding of memory management, smart pointers, RAII, ABI stability, and performance optimization.
- Experience with multithreading, concurrency, atomic operations, and lock-free programming techniques.
- Strong knowledge of STL containers, algorithms, and modern C++ design principles.
- Hands-on experience with distributed messaging technologies such as Apache Kafka, Apache Pulsar, ZeroMQ, or similar platforms.
- Strong understanding of Pub/Sub architectures, consumer groups, partitioning, message ordering, and fault tolerance.
- Experience with high-throughput and low-latency messaging systems.
- Strong networking fundamentals including TCP/IP, DNS, routing, load balancing, and distributed communication protocols.
- Experience with Redis and Redis Cluster architectures and messaging patterns.
- Experience building and maintaining Java integrations using JNA or JNI.
- Experience working with Python bindings through pybind11, ctypes, cffi, SWIG, or related frameworks.
- Strong understanding of cross-language interoperability and memory lifecycle management.
- Hands-on experience with Google Protocol Buffers including schema design and version management.
- Experience implementing serialization strategies for distributed systems.
- Knowledge of compression technologies such as ZSTD and dictionary-based compression techniques.
- Experience working with Docker-based deployments and containerized applications.
- Strong knowledge of Git, CI/CD pipelines, and automated build and release processes.
- Understanding of Kubernetes deployment models and distributed application architecture.
- Familiarity with Helm charts and infrastructure automation practices.
- Experience with build tools such as Make, Conan, Maven, and Python package management.
- Strong understanding of scalable distributed system architecture.
- Experience designing highly available and fault-tolerant platform services.
- Ability to balance performance, reliability, maintainability, and scalability considerations.
- Strong analytical, debugging, and troubleshooting skills.
- Excellent communication and collaboration skills for working with cross-functional engineering teams.
Benefits:
- Competitive salary and benefits package
- Culture focused on talent development with quarterly growth opportunities and company-sponsored higher education and certifications
- Opportunity to work with cutting-edge technologies
- Employee engagement initiatives such as project parties, flexible work hours, and Long Service awards
- Annual health check-ups
- Insurance coverage: group term life, personal accident, and Mediclaim hospitalization for self, spouse, two children, and parents
Values-Driven, People-Centric & Inclusive Work Environment:
Persistent is dedicated to fostering diversity and inclusion in the workplace. We invite applications from all qualified individuals, including those with disabilities, and regardless of gender or gender preference. We welcome diverse candidates from all backgrounds.
- We support hybrid work and flexible hours to fit diverse lifestyles.
- Our office is accessibility-friendly, with ergonomic setups and assistive technologies to support employees with physical disabilities.
- If you are a person with disabilities and have specific requirements, please inform us during the application process or at any time during your employment
Let's unleash your full potential at Persistent - persistent.com/careers
"Persistent is an Equal Opportunity Employer and prohibits discrimination and harassment of any kind."
📌 Software Developer (Bengaluru)
🏢 Persistent
📍 Bengaluru