Senior Software Engineer, Java
Description
Job Description
Position: Sr. Software Developer in Java (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.
- Design and maintain data models, schemas, and database structures to support downstream applications.
- Optimize data storage, retrieval and processing mechanisms for speed and scalability with large volumes of unstructured data.
- Work on optimizing data storage, including relational databases, NoSQL databases, and AWS storage.
- 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.
Characteristics
- Extensive knowledge of Java.
- Considerable experience with ETL (Extract Transform Load) data processing pipelines for large volumes of data.
- Experience with SQL/NoSQL databases, and data modeling techniques.
- Knowledge of the software development lifecycle including agile methodologies, code quality, and continuous integration/continuous delivery.
- Familiarity with AWS services.
- Considerable experience with DevOps.
- 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 with programming in Java.
- Considerable experience with efficient data structures and Java code optimization.
- Considerable experience with ETL (Extract Transform Load) data processing pipelines.
- Experience with version control systems like Git.
- Familiarity with container templatization/orchestration frameworks such as Helm, Kubernetes
- Experience with CI/CD tools such as GitHub Actions.
- Experience with Linux and Windows architectures.
- Experience working with AWS.
- 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.