Lead Distributed Systems Engineer

AddThis engineers are responsible for building robust distributed systems and infrastructure that process massive amounts of data, execute machine learning algorithms at scale, and make the insights derived from these processes available to millions of website publishers and billions of users in near real-time. As the Lead Distributed Systems Engineer at AddThis your job will be to build and maintain the systems and algorithms that make this possible.  Our software stack includes many best-of-breed open source technologies, such as Cassandra and Kafka, as well as home grown tools, some of which have been open sourced, such as Hydra (checkout our Github page).  In addition to building the distributed systems that enable data processing at scale you will work with our data scientists to implement machine learning algorithms that are able to efficiently operate in a distributed environment.  Data is at the heart of what we do at AddThis and your work will be a critical factor in our success.
 
Responsibilities:
 
- Build and maintain high-performance distributed systems
- Design and implement highly scalable API's and services that receive billions of requests per day
- Be fanatical about performance and performance monitoring
- Use efficient data structures and algorithms to enable data processing at scale
- Code primarily in Java but also able to use the right language for the right job
 
Requirements:
 
- Extensive experience with distributed computing, performance analysis, network protocols, data storage subsystems, and Linux
- Strong computer science fundamentals including a deep understanding of data structures and distributed algorithms
- Able to create elegant, efficient, and testable code
- Expert Java programmer with a deep understanding of the JVM, the Java memory model, and asynchronous I/O.
- BS, MS, or PhD in Computer Science or related field
 
Desired:
- Experience processing very large data sets
- Experience working with advertising systems
- Ability to understand and implement machine learning algorithms
- Experience with Cassandra, Kafka, Hadoop, Spark, Riak, or similar technologies
- Familiar with common POSIX and Linux specific system calls
- Understanding of Linux Kernel development
- Experience developing high performance software that operates on SSDs

Back to top