The Company

At its core, 500px is a community of passionate photographers. We build a platform to enable and reward visual creativity. Every month, millions of people from around the world use our website and mobile apps to find, share, and get rewarded for the world’s most inspiring photography.

We take pride in the products we ship and love what we do. Our engineering culture values mentorship, ownership, collaboration, and getting stuff done.

Our technology stack includes: Python, TensorFlow, Ruby/Rails, Go, MongoDB, MySQL, Redis, and ElasticSearch. Check out our Engineering Blog for more.

Job

We’re looking for an experienced Machine Learning Engineer to help us build APIs and services based on machine learning algorithms. You'll define, build, and refine the APIs, and then help integrate them into our platform and products.

What you'll do:

  • Build and maintain highly scalable backend services that power photo rating, image search, image classification, recommendation engines, spam detection etc.
  • Work with large scale data processing pipelines
  • Closely work with other developers to choose the best technologies and tools for new and existing services
  • Implement and analyze performance metrics, and how they affect business goals

Ideally you'll have:

  • Solid understanding of Machine Learning fundamentals
  • Strong knowledge of Python, Ruby and Go, or the ability to learn them quickly
  • A desire to learn about new tools and technologies like AWS services, ElasticSearch, Hadoop, Spark, etc.
  • Passion for writing high-quality, maintainable and robust code
  • Experience with software development tools (git, bug tracking) and *nix environments
  • Experience with high traffic websites, distributed systems, caching and large data processing is a plus

Perks

  • Interesting technical challenges.
  • Competitive salaries.
  • Flexible hours.
  • Catered lunches and some of Toronto's best coffees and teas.
  • Great health and dental benefits.
  • Many professional development opportunities.

Interview Process

  • Phone screen: <1hr conversation with a hiring manager/tech lead.
  • Coding challenge: We'll ask you to write some code, and then share it with us to review.
  • In-person interviews: 3-5 hours at our office where you'll meet multiple members of our team.

Diversity

We believe diverse teams perform better, and we seek to increase our overall team diversity. We make active efforts to reduce the impact of unconscious bias in our hiring process.