The Lead Software Engineer at Relativity develops software and leads a team to apply software engineering best practices to deliver high quality, maintainable, reusable, reliable, performant, and scalable software. They will work with business stakeholders to support the development of products, features and services that drive and evolve our SaaS offering.
You will serve as a technical liaison between your 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 SQL PaaS Team:
SQL PaaS team is building a SQL Platform as a Service (PaaS) unique to Relativity based on SQL Server and Azure cloud technologies. We are building a proprietary high-availability replication and database movement technology. The SQL PaaS is responsible for orchestration, provisioning, scale, configuration, and monitoring of data hosted in the platform. The technology is deployed globally in multiple Azure regions and hosts hundreds of terabytes of data and hundreds of thousands of SQL Databases.
Here you will have the opportunity to solve significant complex scalability, availability and performance challenges while learning new cloud development best practices using technologies like Azure, .NET core, Serverless Compute, Chef, PowerShell, and Jenkins. If being part of a team building out a PaaS sounds interesting to you, we would love to hear from you!
- Lead technical development projects
- Assistance and lead the effort on architecture, design, and development of a performant, scalable, and secure cloud data platform for our core offering of SQL PaaS.
- Make high-impact contributions and provide technical guidance to a software development team to ship high quality software that operates on data at massive scale.
- Lead the design of software using abstraction, low coupling, high cohesion, modularization, encapsulation, information hiding, interfaces, and separation of concerns.
- Specify, analyze, and estimate non-functional software requirements
- Provide input into system software architecture development by working with Staff, Advisory and Principal Engineers.
- Lead the implementation of software using the practical application of algorithms, defensive programming, exception handling, fault tolerance, design patterns, and best practices of Object-Oriented Design and Programming such as SOLID
- Enable best practices of Test-Driven Design and the use of autonomous frameworks and Continuous Integration and Continues Deployment.
Who we're looking for?
- Bachelors in Computer Science, Engineering, or similar technical degree, or work equivalent experience
- 8+ years of professional software development experience on commercial-grade systems and applications with a proven track record of building and shipping successful software
- Experience designing and developing highly scalable solutions in a cloud platform (Azure, AWS, Google) Azure experience is a plus
- Experience developing systems and applications, or related experience
- Experience in .NET software development using C# and Microsoft SQL Server, or related technologies
- Experience working in highly automated test environments
- Strong knowledge of Agile software development methodologies (SCRUM) is a plus
- Healthcare package
- Healthcare package for families
- Leisure package
- Leisure package for families
- Financial bonus
- Cold beverages
- Hot beverages
- Car parking
- Bicycle parking