Senior Software Engineer - Java

Computer Engineering Chicago, Illinois


A picture containing iconDescription automatically generated

Job Description

Position: Senior Software Engineer, Java

Reports To: Director of Development

Location: Chicago, IL

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. From your seat in Downtown Chicago, 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 C#, React, and Java. If you don’t know it “all,” you won’t be alone! We are seeking full-stack generalists that can bring experience and diverse knowledge to our team, rather than hyper-focused specialists. Our hiring staff is not focused on playing “technology experience bingo” but wants to find the best software engineers.

As far as the development process itself, we don’t want to just check the boxes to be able to say that we have the most (or even the snazziest) features. Rather, we are thoughtful about our design and focused on ensuring that our clients can use software that is both useful and useable. You won’t be buried in a dark corner – 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, learning every day, and having a lot of fun.

From your seat in our beautiful new office in downtown Chicago, you will have access to many teammates to help respond to clients timely.  Our office is in the heart of the loop with very convenient access to all major public transportation lines. Please note that we are onsite with a traditional five-day work week schedule. This is a fully in-person role.

Responsibilities & Duties

  • Participate in the development of new features and expand existing features.
  • Add support for new platforms to our existing products and develop new products.
  • Develop and review designs, code, unit tests, system tests, and documentation.
  • Collaborate in root cause analysis; diagnose, isolate, and fix software problems.
  • Create back-end applications using primarily Java.
  • Demonstrate your work product to your team.
  • Identify and correct issues that impact performance, reliability, and scalability.
  • Investigate and develop skills in new technologies.




  • Extensive knowledge of Unix/Linux environments.
  • Driven to build modern systems that emphasize user experience and aesthetics.
  • An eagerness to learn, explore, and introduce new technologies.
  • Excellent writing and written/verbal communication skills.

Education & Experience

  • Bachelor's degree in Computer Science, Information Systems, Engineering, a related field, or equivalent work experience.
  • 7+ years’ work experience in back-end software engineering.
  • Deep experience programming in Java.
  • Experience with PostgreSQL as well as document stores such as Lucene.
  • Experience using Agile development methodologies.
  • Experience creating and consuming REST interfaces.
  • Experience with Continuous Integration/Continuous Deployment preferred.
  • Experience with containerization and container orchestration frameworks preferred.



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

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.

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.