Rakuten Viber is one of the most popular and downloaded apps in the world. Working with us provides a unique opportunity to influence hundreds of millions of our users and to be part of the journey that makes us a super-app. Our mission is to make people’s lives easier by enabling meaningful connections, from precious moments with family and friends, through managing business relationships to pursuing their passions.
We are a global team of engineers dedicated to creating the best tools to ensure safe, convenient communication for millions of users worldwide. Our culture is built on innovation, teamwork, and a commitment to excellence.
We are seeking a highly motivated, self-directed C++ Developer with an entrepreneurial mindset to join our team. You should be a proactive problem-solver who takes full ownership of the communication infrastructure, acting as a force multiplier to accelerate our engineering velocity. This role focuses on client-server communication offering the opportunity to work on cutting-edge real-time communication systems and contribute to scalable, high-performance solutions. As a C++ Developer on our team, you'll have the opportunity to impact millions of users daily by maintaining and enhancing infrastructure that handles over 50 million calls and 700 million messages every day, processing over 30 Gbps of network traffic. Your work will directly contribute to the reliability and performance of this high-traffic, mission-critical communication platform.
Responsibilities:
- Design and develop robust client-server communication systems using C++
- Build and maintain VoIP server infrastructure components
- Optimize performance for real-time communication applications
- Collaborate with cross-functional teams to deliver reliable communication solutions
- Debug and troubleshoot complex networking and communication issues
- Participate in code reviews and maintain high code quality standards.
Requirements:
- At least 5 years of experience, proven track record with production C++ systems
- Strong proficiency in C++ with solid understanding of modern C++ standards (C++17/20)
- Experience with Boost libraries, particularly Boost.Asio for asynchronous I/O
- Experience with client-server architecture and network programming
- Knowledge of multi-threading, concurrency, and memory management
- Understanding of networking protocols: TCP/UDP, RTP/RTCP, TLS/DTLS, and modern protocols (QUIC)
- Experience with cross-platform development
- Strong problem-solving skills and attention to detail
- Understanding of security best practices in communication systems
- Experience leveraging AI tools to enhance productivity or decision-making is a strong advantage.
Advantages:
- Java/Kotlin development experience
- Understanding of JNI (Java Native Interface) for cross-platform integration
- Real-time communication systems experience
- SIP (Session Initiation Protocol) knowledge and implementation experience
- WebRTC development and integration experience
- Experience with audio/video codecs and media processing
- Knowledge of VoIP protocols and standards
- Familiarity with cloud platforms and containerization (Docker, Kubernetes)
- Experience with performance profiling and optimization tools.