Lead DevOps Software Engineer
We are Relativity. A market-leading, global tech company that equips legal professionals with a powerful platform to organize data, discover the truth, and act on it. The U.S. Department of Justice, 198 of top 200 U.S. law firms, and more than 70 Fortune 100 companies are among our customers who 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 self to our team atmosphere.
Join us in the transformation of the legal industry and play a pivotal role in shaping the future of the practice of law and beyond.
The Lead Software Engineer both practices software engineering and leads a team of software engineers to apply best practices and principles in order to deliver high quality, maintainable, reusable, reliable and scalable software on schedule.
You will serve as the technical liaison between your team and other development teams to identify and resolve dependencies, apply best practices and processes, and identify and mitigate risks to the on-time delivery of software. You may also serve as a technical liaison to external organizations such as a solutions providers and standards bodies.
- Lead a team that designs and develops solutions to deploy a cloud scale eDiscovery platform in Azure cloud.
- Develop tools and processes to deploy, manage, scale, and monitor deployments
- Provide technical leadership with a hands-on approach
- Work with leadership to set and communicate team goals and vision that align to business requirements; ensure the team stays focused and delivers against the goals while adapting to changing business needs
- Specify non-functional software requirements and analyze all requirements to determine design feasibility within time and cost constraints
- Estimate software development timeline and be accountable to the timelines by actively managing risks and changing requirements
- Lead the team to design software using abstraction, low coupling, high cohesion, modularization, encapsulation and information hiding, interfaces, and separation of concerns
- Lead the team to implement software using practical application of algorithms, defensive programming and exception handling, fault tolerance, design patterns, and best practices of Object-Oriented Design and Object-Oriented Programming
- 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
- Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code
- Always open to new ideas and encourages innovative practices among peers
- Works collaboratively with QA professionals to encourage defect prevention over detection
- Produces high quality code fast
- Ability to decompose larger problems into software development work as self-contained, minimally inter-dependent tasks for team members to implement
- Ability to segregate software using abstraction and interfaces
- Be able to work with a mix of Microsoft and open-source technologies and help build cloud deployments
- Have a strong understanding of Azure cloud technologies (PaaS, IaaS, SaaS)
- Experience with Chef ecosystem and CI/CD tools
- Expertise of scripting languages (PowerShell preferred)
- Ability to efficiently multi-task and manage multiple concurrent tasks by identifying differing priorities relative to changing business needs
- Ability to consistently identify and deliver technical improvement feedback to team members in a supportive and constructive manner to achieve demonstrable results over time
- Excellent interpersonal and teamwork to facilitate collaborative problem solving among 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
- Bachelor’s Degree or equivalent in Computer Science or related disciplines or relative experience
- 7+ years of software development of commercial-grade systems and applications
- A proven track record of building and leading successful engineering teams