Advanced Software Engineer - Cloud Engineering - 21-0054
We are Relativity. A market-leading, global tech company that equips legal and compliance professionals with a powerful platform to organize data, discover the truth, and act on it. The US Department of Justice, 199 of the Am Law 200, and more than 329,000 enabled users trust Relativity during litigation, internal investigations, and compliance projects.
Our SaaS product, RelativityOne, has become the fastest-growing product in the company's history and we have consistently been named a great workplace. As we grow, we continue to seek individuals that will bring their whole, authentic self to our team.
We believe that great talent is not bound by geography and that what you do matters more than where you do it. Relativity has assumed a hybrid work strategy, allowing choice and flexibility for employees to work either from home, a physical Relativity office location (once safe to do so), or a combination of the two, within certain logistical boundaries. Submit your application to learn more from our recruiters or contact us for more details.
The Storage Vertical:
The Storage Vertical is a critical portion of Cloud Engineering, providing Relativity with all of its storage needs. It abstracts away infrastructure management and provides operations with mechanisms by which underlying storage infrastructure is built, operated, vended, and consumed. This Software Engineer will play the role of a leader in the Storage Vertical, driving its overall interests in optimizing infrastructure for efficiency, reliability, and the satisfaction of all of Relativity's storage requirements.
The File Asset Storage Team (FAST):
Within the Storage Vertical, the File Asset Storage Team (FAST) owns all unstructured data storage needs for the Relativity application. The FAST team manages the internal storage servers upon which all of Relativity relies. We develop and maintain the infrastructure and the control plane that facilitates the provisioning and consumption of file storage space. We develop storage-layer abstractions to increase our platform's data management capabilities, reduce costs, and increase business agility. Our key challenge: how do we simplify and optimize the management of petabyte-scale cloud storage to the delight of our customers and developers?
Our team is looking to build out the next generation of infrastructure. Join us as we work to leverage cloud-native technologies to respond to the scale of Relativity’s increasing growth as well as to idiosyncratic nature of massive-scale storage. To achieve this, our team is using a diverse set of technologies, including Linux, Azure, Kubernetes, Docker, Powershell, C#/.NET, and SQL.
- Contribute to development of low-level systems programming as an Advanced Engineer (e.g. disk or net IO, operating system, driver, or kernel development)
- Solve complex storage problems and implement their solutions using cloud native patterns and services
- Adopt and exercise best practices in developing and delivering software, including test-driven and trunk-based development, as well as continuous integration and deployment
- Contribute to the product through our development workflow
- Triage customer requests and troubleshoot incidents when on-call
- Continuously improve the operational state of the software, striving for observability, reliability, and availability
- Effectively communicate with team members and stakeholders
- Identify opportunities for improvement across the stack and promote their solutions
- Align the offerings with platform expectations and contracts
- Document current and future service architecture via well-written design narratives and architectural decision records
- Maintain a high bar for code and architectural quality
- Experience (at least three years) in software development
- Experience developing with C#, and/or .NET Core
- Experience working in an agile development environment (using Scrum, Kanban, etc)
- Experience running Linux in a production environment
- Experience working with large-scale storage infrastructure
- Experience with low-level systems programming (e.g. disk or net IO, operating system, driver, or kernel development)
- Experience developing and delivering in a continuous deployment environment
- Experience developing and maintaining RESTful web services