Senior Software Engineer
About Clutch:
Clutch is Canada’s largest online used car retailer, delivering a seamless, hassle-free car-buying experience to drivers everywhere. Customers can browse hundreds of cars from the comfort of their home, get the right one delivered to their door, and enjoy peace of mind with our 10-Day Money-Back Guarantee… and that’s just the beginning.
Named one of Canada’s top growing Companies two years in a row and also awarded a spot on LinkedIn’s Top Canadian Startups list, we’re looking to add curious, hard-working, and driven individuals to our growing team.
Headquartered in Toronto, Clutch was founded in 2017. Clutch is backed by a number of world-class investors, including Canaan, BrandProject, Real Ventures, D1 Capital, and Upper90. To learn more, visit clutch.ca.
Technology:
We use a full TypeScript stack for both the front and backend, including some legacy JavaScript. Our front-end is a ReactJS app following modern standards such as functional components and the context API. The back-end is an ExpressJS application with a PostgreSQL database and Sequelize as an ORM. Our architecture follows a microservices approach, utilizing Docker, Terraform, AWS ECS and other AWS services. For interservice communication, we rely on RabbitMQ and Apache Kafka.
What you'll do:
- Write clean, readable, and testable code that adheres to best practices, ensuring high performance, reliability, and maintainability.
- Collaborate with the team to design and implement scalable, secure, and resilient system architectures that align with the company’s long-term goals.
- Lead projects from initial planning through development, testing, deployment, and maintenance, ensuring milestones are met and project outcomes are successful.
- Work closely with stakeholders, including Product, Design, and Data teams, to translate business needs into technical solutions that enhance the customer experience.
- Engage in peer reviews, contribute to system design discussions, and help improve overall development standards and best practices.
- Take ownership of solving complex technical challenges, balancing business needs with technical constraints to deliver scalable and maintainable solutions.
- Stay ahead of emerging technologies, evaluate new tools and frameworks, and contribute to reducing technical debt while improving system performance.
- Provide mentorship and technical guidance to engineers across all levels, fostering a culture of collaboration, knowledge sharing, and continuous learning.
What we're looking for:
- B.S. degree in Software Engineering or equivalent experience
- 4+ years relevant industry experience developing software solutions
- Proficiency in one or more modern programming languages (e.g. Typescript, Python, Go, Ruby, C#, Rust, etc…)
- Strong understanding of Frontend and/or Backend frameworks such as (React/Vue, Express/Flask, Ruby on Rails, etc…)
- Familiarity with cloud platforms such as AWS (Amazon Web Services), Azure, or Google Cloud Platform.
- Experience working with relational databases like PostgreSQL, MySQL, or Oracle, and in writing efficient SQL queries, designing database schemas, and optimizing database performance.
- Experience in optimizing application performance, identifying and resolving bottlenecks.
- Knowledge of testing frameworks and methodologies for unit testing, integration testing, and end-to-end testing.
- Experience working in an Agile development environment, following methodologies such as Scrum or Kanban, and using tools like Jira or Github Projects for project management and collaboration.
Why you’ll love it at Clutch:
- Autonomy & ownership -- create your own path, and own your work
- Competitive compensation and equity incentives!
- Generous time off program
- Health & dental benefits
Clutch is committed to fostering an inclusive workplace where all individuals have an opportunity to succeed. If you require accommodation at any stage of the interview process, please email talent@clutch.ca.
Apply for this job
*
indicates a required field