Your browser cookies must be enabled in order to apply for this job. Please contact if you need further instruction on how to do that.

Senior Server Engineer - Data Platform Team

Engineering | Redwood City, CA | Full Time

Job Description

Shopkick is the most engaging rewards program, with an enthusiastic community of users who spend more time in-app and web than any other shopping experience. For consumers, we bring moments of joy to everyday shopping, dining, and leisure activities by offering fun ways to earn rewards (that we call kicks). They are similar to points in a mileage rewards program and can be redeemed for a wide variety of gift cards. For brands and retailers, we drive sales by providing high consumer engagement along the entire path to purchase--without the use of margin dilutive coupons. Our unique pay for performance model has been proven to deliver high ROI, driving incremental traffic, visits to shelves and stores, and sales across platforms: online, mobile and in-store. Some of our leading partners include Best Buy, Clorox, Coty, GSK, Georgia Pacific, Marshalls, Nestle, Purina, TJ Maxx, and Unilever, among others. Shopkick is available for free on the iPhone from the App Store and for Android on Google Play.

Shopkick is looking for a Server Engineer with a strong background in the architecture & design of systems managing large volumes of data. To be successful in this role you will have the desire to work on high visibility projects that have significant impact on the team and company, thrive in a highly collaborative team, love the buzz of a fast-paced agile environment, supportive coworkers who respect quality code, and love the challenges of building server systems that are used by millions of users. Essential duties and responsibilities may include, but are not limited to:

  • Present your schema management system design at an Engineering-wide architecture review
  • Evaluate and pick the most appropriate datastore for our transaction data
  • Design and build a gateway service allowing client applications to receive messages from a Kafka topic
  • Debug a race condition in a distributed processing system
  • Mentor junior engineers on defensive coding and designing decoupled, reusable modules
  • Work on a highly collaborative team of 3-5 engineers
  • Build server systems that are used by millions of users and process hundreds of millions of events each day


  • 7+ years of experience designing, building and implementing server software
  • Strong coding ability in an object-oriented language (Java, C#, C++, Python etc.) is a must
  • Deep experience with Java is a definite plus
  • Experience with a stream based data processing system (Kafka Streams, Spark, Flink etc)
  • Experience with big data infrastructure (e.g. Hadoop, Kafka)
  • Experience with event driven architectures is a definite plus
  • Excellent team player with strong communication skills (verbal and written)
  • Enthusiastic about collaborative problem solving
  • Eagerness to solve challenging problems
  • Experience using both relational and NoSQL database systems
  • Experience designing for scalability
  • Ability to examine and evaluate server architectures
  • Solid understanding of sources of performance bottlenecks in distributed processing systems

Any unsolicited resumes/candidate profiles submitted through our website or to personal email accounts of employees of Shopkick are considered the property of Shopkick and are not subject to payment of agency fees.