Advanced Software Engineer - Developer Environments (Remote) at Relativity
The Advanced Software Engineer at Relativity develops software applying software engineering best practices to bring high-quality, maintainable, performant, and scalable software. You will work with your team to develop products and features that guide and evolve our developer and testing environments. You will report to the Manager of Software Engineering.
The Developer Environments Team:
The Developer Environments team produces and manages the different types of environments that are used for developers of Relativity. The environments used are aimed at ensuring developers can develop their services in a wide distributed microservice architecture without sacrificing quality. Environment architectures can range from lightweight testing harnesses that run locally in-process and containers to full-scale instances of the Relativity Platform that can be used for performance, load, and security testing purposes.
Here you will solve complex challenges related to API interconnectivity, versioning strategies, API mocking, container management, orchestration, and monitoring while continuing to learn and promote best practices for dev/test in the cloud.
You will have exposure to the following technologies: Azure, .Net Core, Docker, WireMock, Azure DevOps, SQL Server, API Gateway (Kong), Service Mesh (Kuma), Powershell, and Jenkins.
Your Role in Action
- Help implement 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
- Assimilate best practices of Test-Driven Design and the use of autonomous frameworks and Continuous Integration and Continues Deployment
- Implement tools and technologies to provision and configure an enterprise software system in public utility clouds with a focus on increasing efficiency and elasticity of deployed compute without sacrificing quality
- Oversee the application environment to run and maintain the technology and determine the advisement of potential technology or process improvements
- Strategize, plan, prioritize, schedule, and partner in the production of infrastructure provisioning and configuration while focusing on maintaining or improving security, data integrity, programming logic integrity, and administration
- Seek and recommend improvements to current processes and technologies used
- Participate in code reviews and design reviews
- Experience in .NET software development using C# and Microsoft SQL Server, or related technologies
- Experience working in automated test environments
- Knowledge of Agile software development methodologies (SCRUM)
- 2+ years of professional software development experience on commercial-grade systems and applications with experience with building and shipping successful software
- Experience developing scalable solutions in a cloud platform (Azure, AWS, Google)
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.
Comprehensive health, dental, and vision plans
Parental leave for primary and secondary caregivers
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.