Rubrik is creating the cloud data management space. We make it easy for businesses to protect, search, secure, and analyze all of their data simply and scalability. As cloud continues to grow at an astounding rate, we’ll be solving some of its most interesting challenges while building a product unlike anything seen before. This is a massive challenge and we’re just getting started so there is a lot of opportunity for personal growth and contribution.
Our Software Engineers 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. To do that, we have a very fluid structure and give people flexibility to work on projects that they enjoy most. This develops more capable engineers and keeps everyone engaged and happy.Responsibilities
- Provide technical leadership to the team which includes providing architecture guidelines, design and code reviews, mentorship to build a robust platform layer.
- Work cross-functionally to build in reliability and simplicity into a scale-out cluster
- Develop an architecture that will allow portability across multiple kernel environments, and leverage new and existing tools from the Linux community.
- Create a hardware agnostic layer to provide a common set of services and policies, re-working the software / hardware interface.
- Build and enhance the framework for configuring and monitoring of the nodes in a cluster environment. Example - Driving key supportability/reliability improvements required for Rubrik appliances to detect problems on any node in a cluster, and then take steps to automatically fix the problems.
- Diagnose and resolve problems in complex customer environments and provide guidance on best practices
- Assess the reliability of the Linux IO stack, and create new features to enhance the error handling and performance of the stack.
- Full ownership of projects from design to implementation and deployment.
- 10+ years of experience with Minimum of Bachelor’s degree in Computer Science, preferred Master’s degree
- Strong background in System programming and OS fundamentals.
- Extensive experience with Linux kernel or equivalent, and kernel troubleshooting and debugging, particularly as it relates to the Software/Hardware interaction.
- Good understanding of platform software, driver development and troubleshooting.
- Proven track record of building, maintaining and supporting technical infrastructure, for example - big data platform or distributed file system.
- Understanding of software and firmware upgrade process, particularly in HA/Cluster environments.
- Strong in data structures, algorithms, and software design
- Knowledge developing and debugging in C/C++, Python - GO is also preferred
- Experience in working in complex environments, in particular networking experience and network troubleshooting knowledge is a big plus.
- Knowledge of distributed systems design and development experience is a bonus
- Strong interest in learning new technologies.