Software Engineer

Sift Media

Sift Media

Software Engineering
Durham, NC, USA
Posted on Wednesday, June 30, 2021

Sift is looking for an experienced and creative Software Engineer with a data science background or a strong desire to implement data science and machine learning technologies to join our team in Durham, NC offering an opportunity to work on scalable distributed applications built using cutting edge technologies and services. This position requires a proven ability to understand and implement complex business requirements for new systems and enhancements to existing systems in very fast-paced environment. Additionally, the candidate must exhibit the ability to analyze and debug complex software systems.


  • Collaborate with others to conceptualize, build, test and ship software solutions that meet business and market needs

  • Maintain existing software systems including cloud based infrastructure

  • Push big data technologies to the limits to help better our products and services

  • Implement scalable and cost effective software systems that meet business requirements

  • Develop high quality software using industry standard best practices including unit testing, code reviews and continuous integration


  • BS or MS in Computer Science or equivalent work experience

  • Software development experience preferably with a JVM based language (Java, Scala, Clojure)

  • Experience with distributed data handling and storage technologies like Amazon Kinesis, Redshift, DynamoDB, and Redis

  • Exposure to infrastructure management technologies like Puppet or Chef utilized in a cloud-based environment like AWS

  • Experience working with Git, Subversion or other SCM tools

  • Experience working with remote data via REST and JSON

  • Strong understanding of query languages and tradeoffs between relational and non-relational systems

  • Working knowledge of key data structures and algorithms (indexing, hash tables, joins, aggregation)

  • Solid understanding of software development best practices and methodologies

  • Experience working in a team-oriented, collaborative environment

  • Excellent communication and collaborative problem-solving skills

  • Can lead by example & motivate fellow developers to meet challenging goals


  • Minor in statistics or related field

  • Python Data Science experience

  • Experience with machine learning frameworks such as Amazon Machine Learning

  • Experience with Big data Tools like Map Reduce, Hadoop, Spark

  • Knowledge and applicable experience with agile methodologies such as SCRUM

  • Experience with Scala

  • Experience with Microservice architectures

  • Experience with functional programming

  • Good time management skills and structured work methodology

  • Experience with NoSQL datastores, especially DynamoDB and Redis

  • RDBMS and JDBC experience, especially MySQL or Amazon Aurora

  • Experience with build tools, especially sbt