Senior Software Engineer

Smile.io

Location
Canada
Job Type
full-time
Salary
Unknown
Posted
July 19, 2025

Job Description

Smile.io is the world’s largest loyalty platform, providing easy-to-use reward programs that help scaling ecommerce brands transform one-time sales into repeat purchases from loyal customers. Over 100,000 brands use Smile to turn transactional purchases into passionate repeat shoppers. We know that Smile.io as a business is in constant evolution - the same is true of our people. We’re here to support each other in our growth, so we talk openly about our career & personal goals. With such a diverse team of people, we know we can offer you the mentorship, tools, and encouragement you need to grow.
 
We currently power over 100,000 rewards programs, reaching more than 500 million customers, and serving 1 million API requests per hour. Our primary stack is Ruby on Rails, Ember.js, and React. The engineering team at Smile.io believes in being proud of your code, owning what you ship, and embracing new tools to increase developer happiness. We believe small and agile, empowered teams can ship products with the highest impact.
 
We invite you to join our mission to create technical solutions that securely, reliably, and quickly provide value to our customers. Smile.io is a fully remote company looking to hire within Canada for this remote role. Overlap with core EST working hours is required.
 
About the Team:
The Program Squad is a team that spans the entire technical stack, and is focused on providing the functionality merchants need to create and manage effective loyalty programs. They are responsible for building and maintaining features that influence repeat purchase rates, optimize program configuration, enhance the shopper journey, and improve the merchant experience. The team takes an iterative and experimentation-based approach to crafting functionality that delights users and feels native to the Shopify, Wix, and BigCommerce platforms.
 
Everyone at Smile is driven by these core values:
Be Humble - think of the team before thinking of yourself. We have no room for massive egos.
Be Hungry - set hard goals, ask lots of questions and learn every day.
Be Human - show empathy towards others, consider the impact of your decisions on other teams.
 
About the Role:
Smile.io is seeking a highly skilled and experienced Senior Engineer proficient in both Front-End and Back-End development to join our dynamic team. As a key member, you'll play a crucial role in designing, constructing, and maintaining our shopper-facing applications and merchant-facing program management tools, ensuring their quality, reliability, scalability, and performance. You will actively participate in running experiments and building incrementally, working in an agile environment to drive innovation and deliver outstanding outcomes. This role is full-time, remote and requires overlap with EST.

How you'll make an impact:

    • Write, test, instrument, document, and maintain software for Smile.io.
    • Review code and provide thoughtful, constructive feedback for your team.
    • Collaborate closely with Product, Design, and Engineering teams to build new features.
    • Support a highly available service used by millions of users on a daily basis.
    • Champion productive technical discussions and foster collaboration within the team.

Who you are:

    • Possess a minimum of 5 years of technical experience in software engineering or a related field, with strong expertise in both Front-end and Back-end technologies.
    • Have intermediate to expert-level proficiency in either Ember.js or React (using TypeScript), substantiated by relevant professional work experience.
    • Have intermediate to expert-level proficiency in Ruby on Rails, substantiated by relevant professional work experience.
    • Skilled in utilizing observability tools such as DataDog and Grafana to troubleshoot multi-system level issues effectively.
    • Experienced with Postgres or similar databases.
    • Experienced in building and maintaining high-traffic systems.
    • Experienced in test automation practices.
    • Familiar with agile methodologies and the ability to thrive in a fast-paced environment.

Bonus if you have:

    • Experience developing apps for the Shopify platform, including familiarity with Shopify APIs.
    • Hands-on experience with Amazon Web Services, Docker, Kafka, and/or GraphQL.
    • Understanding of database optimization techniques, including indexing, various types of locks, and strategies for optimizing slow queries.
    • Experience in mentoring and fostering the professional growth of junior colleagues.

Our Tech Stack: User Facing Applications

    • Ruby on Rails
    • Ember.js
    • React
    • Typescript
    • HTML
    • CSS

Our Tech Stack: Services

    • Ruby
    • Data Layer
    • PostgreSQL
    • ElasticSearch
    • Kafka
    • Amazon Simple Queue Service
    • Snowflake
    • Metabase

Our Tech Stack: Environment & Infrastructure

    • GitHub
    • DataDog
    • Amazon Web Services
    • Terraform
    • Vault
    • Helm
    • Kubernetes
Our Commitment to Candidates:
At Smile, we understand that finding a new role is challenging and that self-doubt or imposter syndrome can prevent you from applying to a role, don’t let it! You have a ton to offer and we want you to feel encouraged to apply, even if you don’t check all of the boxes. If you are passionate about eCommerce and helping merchants grow through loyalty and reward, connect with us. 
 
At Smile, we rely on a range of backgrounds, experiences, and ideas. We value diversity, and we’re proud to be an inclusive, equal opportunity workplace. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. Smile welcomes and encourages applications from people with disabilities. Accommodations are available on request for candidates taking part in all aspects of the selection process.
 
AI Disclaimer: At Smile, we’re strong advocates for using AI to help speed up iteration, increase productivity, and save our human brainpower for the really challenging problems. While we’re happy for AI to help you generate or tailor your resume, we’d ask that you please refrain from using AI to answer any of the questions on this application form, or to answer questions during the interview process itself.

🎯 Who is this job for?

This role is ideal for a Senior Fullstack Engineer with 5+ years of experience, especially in Ruby on Rails and either Ember.js or React with TypeScript. Candidates should be adept at building scalable, high-traffic applications, familiar with observability tools like DataDog, and comfortable with PostgreSQL and test automation. It suits engineers who enjoy full product ownership, working in agile environments, and collaborating across product and design teams.

πŸ’¬ Potential Interview Questions

  1. Describe your experience working with both frontend and backend technologies, specifically Ember.js/React and Ruby on Rails.
    I have 5+ years of experience developing user-facing applications with Ember.js and React (TypeScript), alongside building scalable backend services using Ruby on Rails, ensuring seamless integration and performance.

  2. How do you ensure high availability and reliability in systems that serve millions of users daily?
    I implement robust testing, use monitoring and observability tools like DataDog and Grafana, apply scaling strategies, and follow best practices in error handling and performance optimization to maintain high availability.

  3. What strategies do you use to optimize database performance in PostgreSQL?
    I employ indexing, query optimization, lock management, and analyze slow queries to improve database responsiveness and throughput.

  4. Can you explain your approach to test automation in a full-stack environment?
    I write comprehensive unit, integration, and end-to-end tests for frontend and backend, use CI pipelines for automated testing, and prioritize test coverage to ensure code quality and prevent regressions.

  5. How have you applied agile methodologies in your software development process?
    I actively participate in iterative development cycles, sprint planning, retrospectives, and continuous feedback loops to deliver incremental value and adapt to changing requirements.

  6. Describe your experience with observability tools like DataDog and Grafana in troubleshooting production issues.
    I use these tools to monitor metrics, logs, and traces, quickly identify anomalies or bottlenecks, and collaborate with cross-functional teams to resolve multi-system issues.

  7. What is your familiarity with eCommerce platforms, especially Shopify?
    I have experience developing Shopify apps, integrating with Shopify APIs, and building loyalty program features tailored to merchants’ needs on eCommerce platforms.

  8. How do you mentor junior engineers and foster team collaboration?
    I provide constructive code reviews, share knowledge openly, encourage best practices, and support growth through pairing and continuous feedback.

  9. What is your experience with cloud infrastructure and services such as AWS, Docker, Kafka, and Kubernetes?
    I have hands-on experience deploying and managing applications using AWS, containerizing services with Docker, handling messaging with Kafka, and orchestrating with Kubernetes.

  10. How do you balance technical innovation with maintaining existing systems in a fast-paced, evolving product environment?
    I prioritize incremental improvements, conduct experiments carefully, collaborate closely with product teams, and ensure backward compatibility while delivering new features.

πŸ“‹ Job Summary

Smile.io is seeking a Senior Full-Stack Engineer to build and maintain scalable, high-traffic loyalty platform features for merchants and shoppers. You’ll work remotely from Canada with EST overlap, using Ruby on Rails and Ember.js or React (TypeScript) to deliver reliable, performant applications. Collaborate closely with product and design teams, drive experiments, and contribute to a fast-paced agile environment. Experience with PostgreSQL, test automation, and observability tools (DataDog, Grafana) is essential. Bonus points for Shopify app development, AWS, Kafka, and mentoring skills. Join Smile.io to help power over 100,000 ecommerce reward programs globally.

Required Skills

Ruby on Rails Ember.js React Typescript