digital-media photography photo-sharing content-discovery

Full-Stack Developer


The Company
500px is an online community for sharing, discovery, buying and selling of high-quality photography. Every month, millions of people use the 500px.com website and mobile apps from around the world to find the world’s most inspiring photography. 

We take pride in the products we ship and love what we do. We have an engineering-friendly culture where we value mentorship, ownership and getting stuff done. There are no strict boundaries between teams which means developers get involved in different projects.

Our technology stack includes: RoR, Go, Backbone/Marionette, Elastic Search, Mongo, Redis, MySQL, Kafka, Chef, AWS, Hadoop, Python for Machine Learning. Check out https://github.com/500px.

The Job
We are looking for performance-driven Frontend and Backend Web Developers who can help us to bring 500px to the next level of scale, speed, and user experience.

Role responsibilities:

  • Designing, implementing and optimizing products and services used by millions of users.
  • Improving real-time algorithms for photos rating, image recognition, personalization and spam detection
  • Building highly scalable API services in Ruby and Go
  • Working with UI/UX Designers to fuse backend services with world-class UIs

The ideal candidates will have:

  • Strong knowledge of Ruby on Rails, JavaScript and Go, or the ability to learn them quickly
  • Solid understanding of web technologies including HTTP, RESTful APIs, HTML5/CSS, Browser API
  • Expertise with high traffic websites, distributed systems, caching and large data analysis
  • Passion about writing high-quality, maintainable and robust code
  • Experience with software development tools (git, bug tracking) and *nix environments
  • A love of photography

Please submit this information with your application

  1. Links to some projects you’ve built in the past and/or your biggest technical achievement
  2. How would you detect users who manipulate photos rating by creating fake accounts?

Our interview process is straightforward:

  1. Phone interview where you will be asked to write simple programs
  2. In-person interview at our office where you will have a chance to present stuff you worked on in the past and show your awesome programming skills
  3. You are presented with an offer
Work with this stack