Distributed Systems Engineer

San Francisco, CA | Engineering

Job Description

We’re hiring for several roles!  Check out our team and what it’s like being an engineer at Sharethrough -http://www.sharethrough.com/engineering

At Sharethrough we're tackling the hardest problems in data systems, service oriented architectures and machine learning to make advertising better for publishers and consumers.  We’re looking for distributed systems engineers who share our passion for building robust distributed systems that enable us to deliver products that rid the world of banners and punch-the-monkey ads.

As a distributed systems engineer at Sharethrough, you will work on problems ranging from architecting fault-tolerant micro-services to the systems challenges involved in large-scale recommendation systems, real-time click prediction as well as our stream analytics and Hadoop ETL pipelines.

What You'll Be Doing

  • Participate in the architecture of our distributed auction platform, responsible for serving millions of daily impressions
  • Being a leader in building and maintaining high-performance, fault-tolerant, scalable distributed software systems in the context of real-time auctions and content recommendations on the JVM in Scala
  • Developing elegant solutions to complex problems
  • Writing code that is performant, well-tested and easy to maintain

Right In Your Wheelhouse

  • Development experience on the JVM, preferably Scala
  • Strong algorithms and data structures background.  We value solid CS fundamentals.
  • Experience designing and developing production distributed systems.
  • Excellent communication skills and the ability to work in a cross-functional team
  • Deep understanding of how to write maintainable code and the importance of testing
  • Core operating systems principles (memory management, file systems and networking)

It Would Be Cool If You Had Experience With

  • Deep understanding of concurrency and the Java memory model
  • Our tech stack: Scalding, Finagle, Algebird, Spark, Hive
  • Functional programming
  • Distributed databases (Cassandra, HBase, Dynamo)
  • Big data processing systems and infrastructure – Hadoop, Storm, Scalding, Azkaban, Hive, etc.
  • Performance tuning (JVM, MySQL)

 

Apply Now
for this Job
Spread the Word
Not the right job?
Describe your perfect job
Join our Talent Network »