Software Engineer- Backend Product

Toronto /
Engineering /
Full-time
Your mission is to help people fall in love! 

Coffee Meets Bagel (CMB) is a dating app that’s getting to the heart of meaningful connections. And like in any good relationship, we want to cultivate empathy, teamwork, and a celebration of different perspectives. We’re not only seeking candidates who are just as excited about dating and relationships as we are, but who also have diverse backgrounds and skill sets. Sound like you? Keep reading!
Passion is key, but it’s equally important that you’re excited to work with our product and mobile teams to make positive and impactful changes for our daters. If solving challenging engineering problems that provide great functionality to millions of daters across the world makes your heart flutter, we want you!
As a Software Engineer, you’ll work on high-visibility features with supportive, cross-functional team members in a highly collaborative environment. You’ll contribute to an app that reaches millions of daters daily. It’s all part of working toward our company mission: to give everyone a chance at love.
Our job can be deeply challenging, but it’s also immensely rewarding and tons of fun! ☕️❤️🍩


About Coffee Meets Bagel 

Coffee Meets Bagel's mission is to give everyone a chance at love. Instead of asking you to swipe through infinite profiles, our smart algorithm curates only your best matches and sends them to you once daily. Our "slow dating" approach emphasizes savoring each real connection—and even finding delight in the journey. Globally, CMB has sparked thousands of lasting relationships. We were named one of the "Top 10 Dating Apps" by Time Magazine, and "Best App If You're Trying to Marie Kondo Your Dating Life" by Women's Health.

Responsibilities

    • Work with a cross-functional team of product managers, designers, marketers, and mobile developers to improve existing features and deliver new functionality to our daters.
    • Provide backend engineering perspective during project planning to help ensure that work is properly scoped and well-defined.
    • Maintain existing product features and shepherd them through their entire lifecycle.
    • Ensure that your work is thoroughly documented, well tested, and observable. And help team members to learn your code, understand its metrics, and extend it.
    • Keep an eye on the efficiency and scalability of your code. We are looking to double our user base in the next year, so this will be of prime importance.
    • Collaborate with mobile engineers to design clean, extensible APIs that can support not only the current feature, but future enhancements as well.
    • Team up with platform engineers to design and implement the mid-tier services needed to support new and existing features.

Qualifications

    • You have 3+ years of work experience on the backend, building APIs and web services for end users.  You’ve worked on services for mobile clients.
    • You have strong coding skills and has the ability to pick up new languages with relative easy (Most of our stack is in Python but we also have a little bit of Go, Elixir, and Scala)You show considerable care for code quality, documentation, testing and accuracy of implementation.
    • You have opinions about API design and enjoy working with mobile teams to build them out.
    • You design your code for scalability and performance.
    • You have a passion for serving the customer, and are a tireless advocate for a good user experience.
    • You can communicate complex technical concepts with ease both verbally and in writing.
    • You absolutely love to work with other engineers and jump at the chance to help answer questions or solve a problem for someone else.
    • You always take ownership of the tasks at hand and keep yourself accountable to get your work done.

Bonus Points

    • You've been in a growth stage company that dealt with scaling challenges on different fronts.
    • You have opinions on distributed systems, and understand why they’re hard.
    • You understand what it means to engineer for reliability.
    • You think about systems not just about the way they work but the way they can fail.

Technologies you'll work with

    • Python especially Django, DRF and FastAPI
    • Go, Elixir, and Scala
    • Postgres, Redis, Elasticsearch, RDS, and DynamoDB 
    • RabbitMQ, Kinesis, and SQS
    • AWS Infrastructure (EC2, EKS, S3, Step Functions, Lambda, ElastiCache, Redshift)