Software Engineer, JAVA - Position Summary

Computer Engineering Chicago, Illinois


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#, Java and React. 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 are not focused on playing “technology experience bingo” but want 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.

Please be aware we are onsite with a traditional five-day work week schedule. This is a fully in-person role.

If you think you’d be the right fit for our team, we’d love to hear from you.

Essential Duties & Responsibilities

  • Collaborate with the Data Science/ Machine Learning Engineers and gain exposure to/ learn NLP.
  • Participate in the development of new features and expand existing features.
  • Add support for new platforms to our existing product 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 applications using primarily JAVA.
  • Design and implement RESTful APIs in 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.

Special Knowledge, Skills, Abilities and Training

  • Strong knowledge of JAVA.
  • Experience creating and consuming RESTful interfaces.
  • Knowledge of the software development lifecycle to include agile methodologies, code quality, and continuous integration/continuous delivery.
  • Driven to build modern systems that emphasize user experience and aesthetics.
  • Excellent writing and written/verbal communication skills.
  • An eagerness to learn, explore, and introduce new technologies.
  • Knowledge of React application development and testing is a plus.
  • Must have authorization to work in the United States.

Education & Experience

  • Bachelor's degree in Computer Science, Information Systems, Engineering, a related field, or equivalent work experience. 
  • 5+ years’ work experience in back-end software engineering with considerable experience programming in JAVA