Senior Software Engineer, Java and DevOps
Description
Job Description
Position: Sr. Software Developer in Java and DevOps Engineer (DS team)
Reports To: TBD
Location: TBD
Job Overview
Join an innovative and fast-paced team-building software that allows litigation professionals to filter millions of documents down to those most important to their case using advanced techniques and artificial intelligence. You’ll be developing technology that addresses complex challenges such as data visualization, machine learning, distributed systems, large databases, and large-scale data processing.
We code primarily in Java. We are thoughtful about our design and focused on ensuring that our clients can use software that is both useful and usable. You’ll have the opportunity to actively shape the software while working as an integral part of a dynamic team of developers who are focused on writing great code and learning every day.
Responsibilities & Duties
- Design, implement scalable data pipelines for ingesting, processing, and transforming large volumes of unstructured data.
- Develop robust and scalable ETL (Extract, Transform, Load) processes.
- Implement data validation and tests to ensure accuracy and consistency.
- Identify performance bottlenecks in the data processing pipelines, conduct performance tests, and implement optimizations to improve system performance and efficiency.
- Optimize data storage, retrieval and processing mechanisms for speed and scalability with large volumes of unstructured data.
- Build and maintain integrations with internal data sources and APIs.
- Collaborate in root cause analysis; diagnose, isolate, and fix software problems.
- Collaborate with the Data Science/Machine Learning Engineers to understand the data model requirements and scalability requirements.
- Document technical designs, workflows, and share best practices, collaborate on maintaining technical documentation.
- Develop and maintain automation tools, scripts, and frameworks to streamline operational tasks, deployment processes, and monitoring systems.
- Work with CI/CD tools such as GitHub Actions and container templatization/orchestration frameworks.
Characteristics
- Extensive knowledge of Java.
- Considerable experience with ETL (Extract Transform Load) data processing pipelines.
- Extensive knowledge of DevOps.
- Knowledge of the software development lifecycle including agile methodologies, code quality, and continuous integration/continuous delivery.
- A team player.
- Excellent written/verbal communication skills.
Education & Experience
- Bachelor's degree in Computer Science, Information Systems, Engineering, a related field, or equivalent work experience.
- 7+ years of work experience in back-end software engineering with considerable experience programming in Java.
- Considerable experience with ETL (Extract Transform Load) data processing pipelines.
- Considerable experience with container templatization/orchestration frameworks such as Helm, Kubernetes, etc.
- Experience with CI/CD tools such as GitHub Actions.
- Experience with Linux and Windows architectures.
- Experience working with AWS.
- Experience with version control systems like Git.
- Knowledge of C# and/or Python is a plus.
This job description reflects the present requirements of the position. As duties and responsibilities change and develop, the job description will be reviewed and subject to amendment.
Hiring Policy
Reveal is an equal-opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees. Reveal does not discriminate in employment on the basis of race, color, religion, sex (including pregnancy and gender identity), national origin, political affiliation, sexual orientation, marital status, disability, genetic information, age, membership in an employee organization, retaliation, parental status, military service, or other non-merit factor.
Reveal considers candidates with existing visas, but does not sponsor new visa applications.