Watch this video to learn more about Relativity
Relativity's software helps users organize data and quickly identify key issues during litigation, internal investigations, and compliance projects. They offer their employees great benefits like:
Job Type
Job Details
Posting Type
Remote
Job Overview
We are separating a new product vertical in relativity around Search and AI in Search to revamp the way we do search in legal world. This is no small task – as it requires building systems that work with 10s of petabytes of highly sensitive data, enabling information retrieval on very complex matters in a cloud native way. The new search organization will have a big mission of redesigning and moderning our search platform (serving petabytes of data) to make it future proof (this will require replatforming from SQL-Based world to more cloud native search-dedicated world) and embed it with AI – with the new ways to search – natural language and vector search.The Principal Engineer practices software engineering and leads an area of software system to apply software engineering best practices and principles to deliver high quality, maintainable, reusable, reliable, performant, and scalable software on schedule. The Principal Engineer serves as a technical liaison between his or her teams and other internal and external development teams to identify and resolve dependencies, to identify, improve, and apply software engineering best practices and processes, and to identify and mitigate risks to the on-time delivery of software. The Principal Engineer – thinks what to buy or what to build, designs the architecture to serve the user needs and support the system scale. Understands the trade-offs to be made and that there are no silver bullets. But ultimately builts systems that work, deliver value in time and are predictable to operate and extend. The Principal Engineer serves as a mentor to other team members to improve technical and process expertise and promotes collaboration. The Principal Engineer works under minimal direction from senior software engineering managers or directors and is given wide latitude for independent judgement. Drives department technical vision and assumptions.
Job Description and Requirements
Responsibilities
Partners with management to set and communicate team goals and vision aligned to business requirements.
Offers coaching to ensure the team stays focused and delivers against the goals, adapting to changing business requirements.
Specify non-functional software requirements and analyze all requirements to determine design feasibility within time and cost constraints and mentors others to do the same.
Estimate software development timelines and be accountable to the timelines by actively managing risks and changing requirements.
Provide input into system software architecture development by working with Advisory, Principal Engineers, and Architecture team as required.
Display an ownership mindset; be accountable for and beyond the features your team and larger organization develops.
Design and lead the design of software using abstraction, low coupling and high cohesion, modularization, encapsulation and information hiding, interfaces, and separation of concerns.
Build systems that are low maintenance but not overengineered – balancing security, observability and extensibility with time-to-market and user value
Implement (yes there will be coding) and lead the implementation of software using the practical application of algorithms, defensive programming and exception handling, fault tolerance, design patterns, and ne pragmatic – in using object oriented principles, applying SOLID principles and design patterns in a variety of languages such as SQL, Javascript, and C# (with nice to have Rust) to drive value for our users
Be excited and deliver on cutting age systems interacting with LLMs in legal space – that requires careful management of input and output – especially in observing those systems, building RAG architectures that are extensible and having deep interest in how this provides value to our users
Test and lead the test of software with traceability back to requirements emphasizing the practice of Test-Driven Design and the use of autonomous frameworks and Continuous Integration
Offer solutions to improve agile software development processes and practices (SCRUM) to advance engineering efficiency to maximize resources and reduce expense.
Provides project and professional guidance and mentoring to team members.
Provides solutions to varied and ambiguous issues, utilizing judgment to select methods and techniques for obtaining solutions.
Ensure the adoption and application of software development tools (IDEs, test frameworks, static analyzers, etc.) to improve engineering efficiency to maximize resources and reduce expense.
Identify and offer solutions to reduce technical debt
Your Skills:
10+ years of professional software development experience on commercial-grade systems and applications with a proven track record of building and shipping successful software
6+ years of working with large data systems (at least 100+ TB touched), working with search related systems and systems dealing with low-latency user input
Full knowledge of and adherence to SDLC (Software Development Life Cycle) standards and best practices
Ability to make large technical decisions with impact and following through on them
Ability to decompose larger problems into software development work as self-contained, minimally inter-dependent tasks for team members to implement.
Ability to learn new concepts in depth fast. In the age of AI new techniques and paradigms arise very fast, we need to have an opinion on which will be useful and we should implement and which one might be just hype
Experience in working with Large amounts of data and cloud native environments that supported distributed systems
Nice to have is experience with Vector Search – in any form (Pinecone, pgVector, Elastic or others) and Rust – or willingness to learn it to serve AI-Based applications
Nice to have experience in Python or Rust and practical understanding of Machine Learning systems
Ability to efficiently multi-task and manage multiple concurrent tasks by identifying differing priorities relative to changing business need.
Relativity is a diverse workplace with different skills and life experiences—and we love and celebrate those differences. We believe that employees are happiest when they're empowered to be their full, authentic selves, regardless how you identify.
Benefit Highlights:
Company Car
Comprehensive health plan
Flexible work arrangements
Two, week-long company breaks per year
Unlimited time off
Long-term incentive program
Training investment program
All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, or national origin, disability or protected veteran status, or any other legally protected basis, in accordance with applicable law.
#LI-MM2
Relativity is committed to competitive, fair, and equitable compensation practices.
Relativity is committed to competitive, fair, and equitable compensation practices.
This position is eligible for total compensation which includes a competitive base salary, an annual performance bonus, and long-term incentives.
The expected salary range for this role is between following values:
394 000 and 592 000PLNThe final offered salary will be based on several factors, including but not limited to the candidate's depth of experience, skill set, qualifications, and internal pay equity. Hiring at the top end of the range would not be typical, to allow for future meaningful salary growth in this position.
At Relativity, we build innovative and comprehensive tools for making sense of unstructured data. When more people can find the facts in mountains... Read more