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 Java Server Engineer

Engineering | Toronto, Ontario, Canada | Full Time

Job Description

Shopkick is on a mission to bring delight and reward to the consumer shopping experience. As part of the Trax Retail family, we are a pre-IPO unicorn looking to accelerate our growth trajectory as we partner with major brands and retailers, ranging from H&M and Unilever to Best Buy and Purina, to transform the way people engage with stores and products, both online and in the physical world

Shopkick is looking for a Senior Java Engineer with a strong background in the architecture & design of cloud-native systems built for scale. You will be participating in an effort to modernize our core services; building many from the ground up.  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:

  • Build an ad-serving system capable of complex targeting, recommendations and personalization
  • 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 5-10 engineers
  • Build server systems that are used by millions of users and process hundreds of millions of events each day


  • 5+ years of experience designing, building and implementing server software
  • Strong coding ability in Java (Python a plus)
  • Experience with event driven architectures is highly desirable
  • Excellent team player with strong communication skills (verbal and written)
  • Enthusiastic about collaborative problem solving
  • 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
  • Experience taking ownership of your code, providing unit tests and carrying out integration tests

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.