Digital Reasoning

Senior Software Engineer

at Digital Reasoning

Franklin, Tennessee/New York, New York/Atlanta, Georgia/Raleigh, North Carolina/Charlotte, North Carolina/Remote

Digital Reasoning is a leader in cognitive computing. We build software that understands human communication – in many languages, across many domains, and at enormous scale. Our groundbreaking and patented technology learns from experience and is able to transform data into the knowledge clients need to accurately answer questions. We are innovating solutions for national security, Enterprise Governance, Risk and Compliance.

At Digital Reasoning, we’re writing the next great chapter in technology. It’s an exciting narrative where passionate people make smarter software to solve complex problems that has a significant impact on our customers. We are actively recruiting Software Engineers who share our passion for innovation.

Candidates should have solid computer science and programming fundamentals, experience combining multiple technology components into working systems, and experience writing software with significant data storage (RDBMS or noSQL), data processing, and end user application aspects.

Specific duties include but not limited to:

  • Collaborate closely with cross-functional teams to build performant applications
  • Build APIs leveraged by web based solutions designed with security and scalability as key tenants
  • Unit-test code for robustness, including edge cases, usability, and general reliability
  • Perform technical reviews and audits of the application
  • Provide feedback to peers through code reviews and merge requests

General Required Competencies:

  • You grok new material quickly and thrive in a fast paced development environment
  • You provide constructive technical feedback and mentorship where appropriate
  • You demonstrate excellent software design and technical decision making skills to meet solution needs
  • You are a self-starter, confident, creative, an effective communicator and a team player
  • You love the work you do and want to work with similarly passionate people
  • You are pragmatic and effectively prioritize, estimate, and scope to deliver software on time with quality
  • You write testable and maintainable software and are serious about software quality

Time Allocation:

  • 70% Backend (RDBMS / API / Server) development
  • 15% Frontend (Javascript / Angular) development
  • 15% Code Reviews and QA

Minimum Education and Experience:

  • B.S. in computer science or a related field, or equivalent experience
  • 6-8 years software development experience
  • Strong computer science fundamentals: data structures, algorithms, design patterns
  • Proficiency with a JVM language (Kotlin, Java, etc.)
  • Proficiency with Linux
  • Experience leveraging RDBMS
  • Experience with RESTful API design and best practice including OWASP
  • Familiarity with Elasticsearch
  • Familiarity with Javascript

Preferred Education and Experience:

  • Experience with Elasticsearch
  • Experience writing Javascript applications
  • Experience with Angular or React
  • Experience with Docker and Kubernetes
  • Experience using a distributed version control tool and Maven
  • Community or open source involvement (e.g. Hackathons, local user groups)
  • Some cool projects that you’d love to show off