Senior Software Engineer

Product Development Open, Any Portland, Oregon Franklin, Tennessee

Position at Smarsh

Smarsh is the leader in communications compliance, archiving, and analytics. We provide compliance across the broadest set of communications channels with insights on what’s being captured. Smarsh customers manage over 500 million daily conversations across 80 channels and growing. Customers include the top 10 U.S., top 8 European, top 5 Canadian, and top 3 Asian banks. The Smarsh advantage is customers stay ahead of compliance and uncover patterns and relationships hidden within their data. 

The Machine Learning Engineering team is responsible for developing and maintaining the backbone of our state-of-the-art data processing pipeline that processes millions of messages daily to derive actionable insights using natural language processing (NLP), artificial intelligence (AI), and machine learning (ML). 

Our software engineers work closely with our Applications teams to deliver a tightly integrated, seamless user experience. Smarsh engineers must be able to work in a fast-paced and fluid environment and must be able to take a project and shepherd it all the way to production. 



Collaborate closely with cross-functional teams to build performant applications.  

Perform code reviews, provide constructive feedback 

Continuously discover, evaluate, and implement new technologies to maximize development efficiency 



B.S. in computer science or a related field, M.S. in Computer Science or equivalent preferred 

3+ years software development experience 

Proficiency with a JVM language (Kotlin, Java, etc.) and/or Python 

Strong experience developing and deploying microservices 

Experience with cloud native development (GCP, AWS, Azure) 

Experience with relational and NoSQL databases  


Nice to Have: 

Experience with JavaScript UI frameworks (Angular, React etc) 

Experience with Message streaming technologies like Kafka, Google Pub/Sub, Amazon SNS 

Experience with Infrastructure automation and orchestration tools like Kubernetes, Helm, Ansible, Terraform  

Knowledgeable about CI/CD methodologies 


Time Allocation: 

80% Software Development 

10% Mentoring 

5% Agile Processes 

5% QA