Overview
Location : Pune
About Team & About Role:
As a Senior Software Engineer (SSE) in the Continuous Product Development (CPD) team, you will play a key role in leading team(s) towards owning the roadmap, providing long-term stability, and providing delight to our enterprise customers. You will work closely with leadership and multiple stakeholders from other engineering teams, the Product and Support organizations.
You will be working across Rubrik releases on our on-premise data backup & SAAS offering. You are expected to develop a strong understanding of our product and engineering architecture, such as our distributed job framework, data lifecycle management, filesystem, and metadata store.
We are seeking a highly skilled senior engineer to join our team. You will be responsible for developing and maintaining high-performance software applications. You should have strong programming and troubleshooting skills, excellent design skills, and an understanding of distributed systems. You should be able to work independently and as part of a team. Having an understanding of the storage domain will be preferred, but is not necessary.
Rubrik SSEs are self-starters, driven, and can manage themselves. We believe in giving engineers responsibility, not tasks. Our goal is to motivate and challenge you to do your best work by empowering you to make your own decisions. To do that, we have a very transparent structure and give people freedom to exercise their judgment, even in critical scenarios. This develops more capable engineers and keeps everyone engaged and happy, ultimately leading to customer delight.
Key Responsibilities:
- Design, develop, and maintain high-quality software applications and libraries using C++, Scala, and Go programming languages.
- Troubleshoot complex software problems in a timely and accurate manner.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Write and maintain technical documentation for software systems and applications.
- Participate in code reviews and ensure adherence to coding standards.
- Continuously improve software quality through process improvement initiatives.
- Keep up-to-date with emerging trends in software development.
Requirements:
- B-Tech/M-Tech.
- Strong programming, problem-solving, and troubleshooting skills.
- Language skills: C++ or Scala/Java, or C/Go with understanding of OOP
- Excellent design skills.
- Understanding of distributed systems and multi-threading/concurrency concepts.
- Preferably, have a good understanding of the storage domain.
- Preferably, have a strong background in the object-oriented paradigm.
- Good knowledge of data structures, algorithms, and design patterns.
- Good understanding of networking protocols and security concepts.
- Good knowledge of software development methodologies, tools, and processes.
- Strong communication skills and the ability to work in a team environment.