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, Ruby/Rails, Go, MongoDB, MySQL, Redis, and Elasticsearch. Check out our Engineering Blog for more.
We’re looking for someone who can help us bring 500px to the next level of scale, speed, and user experience. You’ll help us grow our large-scale, distributed, microservices-based platform used by millions of people around the world.
You’ll be working with systems built using Go, Ruby, Python, Elasticsearch, DynamoDB, MongoDB, MySQL, and Redis, all operating as high-availability, large-scale, mission-critical services.
You’ll bring an operations perspective to application and infrastructure planning, and be one of our domain experts on topics such as redundancy, fault-tolerance, disaster recovery and monitoring at scale.
What you’ll do:
- Automate everything and anything in our infrastructure.
- Help the organization deploy code fast and reliably.
- Make systems robust against failure by breaking them in new and interesting ways.
- Manage server configurations, backups, firewalls and network configurations.
- Participate in the on-call rotation to help ensure the site is up around the clock.
Ideally you’ll have:
- A understanding of web application architecture and patterns. You have either built and scaled high traffic web services before, or you’re willing to quickly learn how to.
- Extensive knowledge of Linux (we use Ubuntu) and relevant experience with networking, security, caching, CDNs, EC2 instances, and low-level performance tuning.
- Experience with configuration management tools such as Chef, Puppet, or Ansible.
- Experience with Ruby, Python, Go, or another major programming language.
- Experience with monitoring systems like Graphite, Datadog, Nagios or New Relic.
- Interesting technical challenges.
- Competitive salaries.
- Flexible hours.
- Your choice of computer.
- Catered lunches and some of Toronto's best coffees and teas.
- Great health and dental benefits.
- Many professional development opportunities.
Our 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.
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.