Sr Software Engineer-Java
Overview
At Relativity, we make great software that helps users organize data, discover the truth, and act on it. Our product is used by more than 13,000 organizations around the world – in the cloud, on-premises, or both – to manage large volumes of data.
Here you can own your career in a community of values-driven people who help our customers around the world solve complex data challenges. If this sounds like the place for you, check out the details of this position below.
Responsibilities
The Senior Software Engineer architects, designs, implements, tests, and deploys cloud native software consistently applying best practice software engineering. Key responsibilities include:
- High-impact contributions and technical guidance to an agile software development team that solves complex problems to regularly ship high quality, performant, secure software that operates on data at massive scale in the cloud utilizing Java, Scala, and other technologies as needed.
- Utilize sound engineering practices to deliver functional, reliable, secure, tested and maintainable software that satisfies stakeholders requirements.
- Collaborate in a fast-paced environment with multiple teams in a large organization. (Development, Release Management, Engineer Operations, etc.)
- Obsessive focus on quality through comprehensive unit and integration testing and static analysis as well as rigorous test strategy development
- Troubleshoot and resolve issues related to application development, deployment, and operations
- Positively contribute to the culture, well-being, and growth of each team member and the company at large by being a helpful and considerate team member and by adhering to the company’s core values.
The Senior Software Engineer performs the following functions, in addition to others:
- Facilitate pair/mob programming to improve software quality and completeness and disseminate design and implementation knowledge
- Advocate and model coding and collaboration practices, review team code, and provide team members with feedback and suggestions for process improvement
- Collaborate with other dev teams regularly to establish an outbound and inbound pipeline of new (to Relativity) practices to continually tune the team’s process
- Remain open to new ideas and encourage innovative practices amongst peers
- Work with test engineers to encourage defect prevention over detection
In addition to the above responsibilities, the Senior Software Engineer is expected to display professionalism in the following ways:
- Maintain an attitude of commitment through outward display of willingness
- Practice positive interactions – lean on encouragement in place of judgment
- Impress responsibility on others by displaying ownership in tasks
- Act in the interest of the overall team
Qualifications
- Bachelor’s Degree or equivalent in Computer Science; Master’s Degree preferred
- 7+ years of software development of commercial-grade systems
- 4+ years of experience creating backend / server / algorithmic software utilizing Java and other languages that run on the JVM, but not including J2EE / JEE applications
- 2+ years of and experience with functional programming (Scala, Python, Haskell, Kotlin, PHP)
- 2+ years of experience creating large-scale services and applications in distributed environments such as Azure and Amazon AWS
- Experience developing and maintaining distributed, elastic micro-service applications that self-heal in the event of failures
- Proficiency on Linux, Git, REST, Akka, and CI tools (Jenkins, Bamboo)
- Ability to decompose complex problems, troubleshoot issues and communicate solutions to the team and other stakeholders
- Demonstrated self-motivation to work independently as well as part of a high performing, diverse team
- Experience with Agile software development methodologies
- Experience maintaining and improving Continuous Integration / Continuous Delivery workflows
- Extraordinary sense of ownership and passion for writing world-class software
- Possess excellent problem-solving skills with attention to detail
- Possess excellent teamwork and partnering skills for cross-group collaboration
- Possess excellent leadership skills, ability to perform under the pressure and deliver technical solution
- Excellent written and verbal communication skills
Preferred Qualifications
- Experience with Azure
- Experience with Kafka, Spark, Docker, Kubernetes, or Mesos
- Experience with a 24/7 production environment
- Knowledge of analytics or Machine Learning workflows
- 2+ years of and experience with functional programming. (Scala or Haskell)
About Us
Our software has more than 150,000 active users in more than 40 countries from organizations including the U.S. Department of Justice, more than 70 Fortune 100 companies, and more than 195 of the Am Law 200. We have grown significantly over the last several years and continue striving to build software that helps solve our customers’ toughest e-discovery and unstructured data challenges.
If you’re ready to grow with us, we’d love to hear from you.