Staff Engineer

Product Development Open, Any

Position at Smarsh

Digital Reasoning/Smarsh 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. 

Smarsh is looking for an experienced Software Engineer with strong expertise in application API & UI development.  The successful candidate will work on software that transforms the financial services compliance landscape.  Join our passionate team to make an impact through building smarter software in a collaborative, product focused environment.

Specific duties include but not limited to:

  • Design and develop software with security and scalability as key tenants
  • Perform technical reviews and audits of the application, provide feedback through code reviews and merge requests
  • Write high quality, efficient, and testable code in Kotlin and TypeScript
  • Mentor and lead junior members of the engineering team

General Required Competencies: 

  • Experience providing technical leadership and an ability to lead a team through future platform decisions.
  • Excellent organization and prioritization abilities - project scoping and estimation experience; pragmatic approach to software design and planning.
  • Self-starter, confident, creative, an effective communicator and a team player
  • Write testable and maintainable software and are serious about software quality

Time Allocation: 

  • 70% Software development (Kotlin + Spring / TypeScript + Angular)
  • 30% Code Reviews and QA

Minimum Education and Experience:

  • B.S. in computer science or a related field, or equivalent experience
  • 4+ years software development experience
  • Strong computer science fundamentals: data structures, algorithms, design patterns
  • Proficiency with a JVM language (Kotlin, Java, etc.)
  • Proficiency with Angular or other component-based UI libraries
  • Proficiency with Linux
  • Experience leveraging RDBMS or NoSQL Data stores
  • Experience with RESTful API design and best practices
  • Experience using a distributed version control tool and Maven

Preferred Education and Experience: 

  • Proficiency with Angular 6+
  • Proficiency with Reactive Programming libraries such as RxJS
  • Proficiency with Spring Boot Framework
  • Experience with Elastic (Elasticsearch, Logstash, APM, Rally)
  • Experience with JSON:API Specification
  • Experience with Docker and Kubernetes
  • Knowledge about application server authentication/authorization (SAML 2.0, JWT, etc)
  • Community or open source involvement (e.g. Hackathons, local user groups)
  • Some cool projects that you'd love to show off