Lead Software Engineer (SD) - remote
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 Lead Engineer practices software engineering and leads a team of software developers to apply software engineering best practices and principles to deliver high quality, maintainable, reusable, reliable, performant, and scalable software on schedule. The Lead Engineer serves as a technical liaison between his or her team 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 Lead Engineer works under minimal supervision of software engineering managers.
- Work with management to set and communicate team goals and vision aligned to business requirements; 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.
- 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 Staff, Advisory and Principle Engineers as required.
- Design and lead the design of software using abstraction, low coupling and high cohesion, modularization, encapsulation and information hiding, interfaces and separation of concerns.
- Implement and lead the implementation of software using the practical application of algorithms, defensive programming and exception handling, fault tolerance, design patterns, and best practices of Object-Oriented Design (OOD) and Object-Oriented Programming (OOP) such as SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation and Dependency Inversion).
- 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.
- Follow and improve agile software development processes and practices (SCRUM) to improve engineering efficiency to maximize resources and reduce expense.
- 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 reduce technical debt.
- Minimum 7 years of experience
- Excellent problem solving skills
- Excellent interpersonal and teamwork skills to facilitate collaborative problem solving amongst team members.
- Excellent verbal and written communication to clearly, succinctly, and completely communicate intent (both technical and non-technical) in interactions with team members and management.
- Excellent time management to ensure time (both individually and across the team) is optimally allocated to meet prioritized business need.
- Experience in .NET software development using C# and Microsoft SQL Server.
- Knowledge and experience in working with Agile development methodology.