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

Senior Java Engineer - Toronto

Engineering | Toronto, Ontario, Canada | Full Time

Job Description

Shopkick is a shopping app (30M+ downloads) that connects brands and retailers to consumers along the entire path to purchase. We provide measurable solutions for our customers as we get our audience to engage with content, learn about and pick up products helping drive incremental store traffic and sales using “kicks” instead of cash back, coupons, or discounts.


Shopkick is looking for a Senior Java Engineer with a strong background in the architecture & design of cloud-native systems built for scale. Candidates must have a commitment to collaborative problem solving, sophisticated test design, automation, and delivering high-quality products. Join us and build something meaningful.

 

Responsibilities:

  • Design and develop backend services that communicate with our mobile applications

  • Debug issues & bugs in distributed processing systems

  • Design, develop, and maintain event driven architectures

  • Integrate with external services such as Kafka

  • Mentor junior engineers through code reviews and best practices

  • Work on a highly collaborative team of 5-10 engineers

  • Build applications that are used by millions of users and process hundreds of millions of events each day

  • Participate in Agile workflows (sprint planning, daily scrum, retrospectives)

 

Requirements

  • 5+ years of experience designing, building, and implementing server software at scale

  • Expert at coding in Java

  • Experience with Dropwizard, or another Java application server such as Quarkus or Spring Boot

  • Proficiency in an ORM framework such as Hibernate ORM

  • Excellent team player with strong communication skills (verbal and written)

  • Enthusiastic about collaborative problem solving

  • Experience developing targeting, recommendations, and personalization systems

  • Experience using both relational and NoSQL database systems

  • Experience designing for scalability

  • Ability to examine and evaluate server architectures

  • Solid understanding of performance & optimization in distributed processing systems

  • Experience taking ownership of your code, providing unit tests, and carrying out integration tests

  • BS in computer science or a related field, or equivalent experience


Bonus:


  • Experience coding in Python

  • Knowledge of testing, profiling, and debugging practices

  • Experience working with JWT Authentication

  • Experience with remote work

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.