Hacker Newsnew | past | comments | ask | show | jobs | submit | Renat's commentslogin

500px | Toronto, Canada | Full time | Onsite

500px is a photo community and marketplace for discovering, sharing, buying, and selling inspiring photography powered by creative people around the world. We are well funded, backed by great investors and the company is growing super fast. Join us and help us build the very best place to show and sell photos.

Our architecture is a Ruby on Rails monolith surrounded by a constellation of Go based microservices. There are a wide variety of technologies and distributed systems in use, and you will always be welcome and encouraged to learn something new and touch any part of the stack. We are passionate about what we ship, we care deeply about our craft and our users, and absolutely everything at 500px is made with love.

We are hiring many roles and disciplines, but we are especially looking for:

  * Devops and site reliability engineers
  * Backend and frontend engineers
  * Data engineers
  * Tooling engineers
Check us out and let's build something cool: https://about.500px.com/jobs/


http://500px.com, Toronto Downtown, Fulltime

We value small teams, engineering-friendly culture, beautiful design and getting things done. Our technology stack includes: RoR, Go, Backbone/Marionette, Elastic Search, Chef, AWS, Hadoop, Python for Machine Learning. Check out https://github.com/500px, http://developers.500px.com/.

We are looking for:

  - Senior/Intermediate Web Developers to help us solve 
    scalability challenges, build beautiful UI/UX, improve
    search and rating algorithms, implement machine learning 
    and vision solutions.
  - Senior DevOps Engineers to help us grow our infrastructure, 
    build new tools and automation, provide expert advice on 
    building robust systems at large scale, and work with cutting 
    edge technologies like Docker and Kafka.
  - Senior/Intermediate Mobile Developers to help us build 
    500px iOS and Android mobile products for capturing, 
    editing, licensing and engaging with beautiful 
    photography.
What we offer:

  - hard technical challenges
  - competitive salaries
  - flexible work hours
  - unlimited vacation
  - free lunches
  - medical insurance
  - computer/laptop of your choice
Apply here: http://500px.com/jobs


Hey, I notice that you have been technically posting the same positions since March,this year.Are you guys doing something wrong or what that folks dont wanna work there? How about offer some of these positions remotely?


http://500px.com, Toronto Downtown, Fulltime

We value small teams, engineering-friendly culture, beautiful design and getting things done. Our technology stack includes: RoR, Go, Backbone/Marionette, Elastic Search, Chef, AWS, Hadoop, Python for Machine Learning. Check out https://github.com/500px, http://developers.500px.com/.

We are looking for:

  - Senior/Intermediate Web Developers to help us solve 
    scalability challenges, build beautiful UI/UX, improve
    search and rating algorithms, implement machine learning 
    and vision solutions.
  - Senior DevOps Engineers to help us grow our infrastructure, 
    build new tools and automation, provide expert advice on 
    building robust systems at large scale, and work with cutting 
    edge technologies like Docker and Kafka.
  - Senior/Intermediate Mobile Developers to help us build 
    500px iOS and Android mobile products for capturing, 
    editing, licensing and engaging with beautiful 
    photography.
What we offer:

  - hard technical challenges
  - competitive salaries
  - flexible work hours
  - unlimited vacation
  - free lunches
  - medical insurance
  - computer/laptop of your choice
Apply here: http://500px.com/jobs


http://500px.com, Toronto Downtown, Fulltime

We value small teams, engineering-friendly culture, beautiful design and getting things done. Our technology stack includes: RoR, Go, Backbone/Marionette, Elastic Search, Chef, AWS, Hadoop, Python for Machine Learning. Check out https://github.com/500px, http://developers.500px.com/.

We are looking for:

  - Senior/Intermediate Web Developers to help us solve 
    scalability challenges, build beautiful UI/UX, improve
    search and rating algorithms, implement machine learning 
    and vision solutions.
  - Senior DevOps Engineers to help us grow our infrastructure, 
    build new tools and automation, provide expert advice on 
    building robust systems at large scale, and work with cutting 
    edge technologies like Docker and Kafka.
  - Senior/Intermediate Mobile Developers to help us build 
    500px iOS and Android mobile products for capturing, 
    editing, licensing and engaging with beautiful 
    photography.
What we offer:

  - hard technical challenges
  - competitive salaries
  - flexible work hours
  - unlimited vacation
  - free lunches
  - medical insurance
  - computer/laptop of your choice
Apply here: http://500px.com/jobs


http://500px.com, Toronto Downtown, Fulltime

We value small teams, engineering-friendly culture, beautiful design and getting things done. Our technology stack includes: RoR, Go, Backbone/Marionette, Elastic Search, Chef, AWS, Hadoop, Python for Machine Learning. Check out https://github.com/500px, http://developers.500px.com/.

We are looking for:

  - Senior/Intermediate Web Developers to help us solve 
    scalability challenges, build beautiful UI/UX, improve
    search and rating algorithms, implement machine learning 
    and vision solutions.
  - Senior DevOps Engineers to help us grow our infrastructure, 
    build new tools and automation, provide expert advice on 
    building robust systems at large scale, and work with cutting 
    edge technologies like Docker and Kafka.
  - Senior/Intermediate Mobile Developers to help us build 
    500px iOS and Android mobile products for capturing, 
    editing, licensing and engaging with beautiful 
    photography.
What we offer:

  - hard technical challenges
  - competitive salaries
  - flexible work hours
  - unlimited vacation
  - free lunches
  - medical insurance
  - computer/laptop of your choice
Apply here: http://500px.com/jobs


we still have "Display Adult Content" flag that can be disabled on https://500px.com/settings


Cool, thanks for that. It was a knee-jerk reaction to bail on you folks the way I did but I thought perhaps I wasn't the only one.


Performace is the reason why we switched from ImageMagick


I'm the CTO of 500px. Decoupling uploaders and converters simplifies the overall design and makes it more robust. Converters are a part of the legacy design that we are planning to retire. In the past, we would generate multiple sizes and crops for every image so it can be efficiently displaced on the site and/or mobile apps.

Today, we rely on the new Resizer service that can resize and crop images on the fly. It's an interesting piece of technology that we will be writing about on our blog: developers.500px.com


Thanks for sharing this and being on HN to answer - very interesting architecture! How do you deal with customers from remote locations (Asia, Oceania) complaining about slow upload speeds?


I will keep posted to your blog. Thanks for sharing the link. Always looking to learn about memory heavy operations. Currently am the lead dev on software that revolves around user generated content (images and audio). Its an ever ending road of (fun) challenges.


Is there a specific reason why you didn't use an off the shelf open source solution like Thumbor ( http://thumbor.org/ ) ?


performance is the main reason. Additionally we needed a solution to modify images on the fly (watermarking and attribution). That's why we decided to build our own service using go


I assume you still generate a small thumbnail for every picture, right?


I am surprised that it is faster to resize the image, than to pass the (resized) bits right through. Is the outbound network a bottleneck?


It could be that there are a lot of images/versions that simply never get seen, or seen rarely enough that it's inefficient to store them. And they're being cached by the CDN anyway, so popular images will still only be generated once per edge.


bingo! Extra storage for all the resized images that never get seen, lack of flexibility to introduce new sizes, plus requirements for watermarking and attribution on images are the main reasons why we are moving away from pre-conversion to dynamic image resizing


Generating many conversions for all photos incurs both storage and computational overhead that may never pay off. By only generating the required images on the fly for photos we avoid this overhead while allowing more flexibility. If watermarks or attribution change in the future it's easier to have the resize service in place to handle this as images expire from the CDN than to do a batch job to pre-process the updated conversion requirements for all existing photos.

Also note that photos are stored indefinitely, so any additional permanent storage (new conversions) would add additional storage costs, miniscule as they might be, forever.


http://500px.com, Toronto Downtown, Fulltime

We value small teams, engineering-friendly culture, beautiful design and getting things done. Our technology stack includes: RoR, Go, Backbone/Marionette, Elastic Search, Chef, AWS, Hadoop, Python for Machine Learning. Check out https://github.com/500px, http://developers.500px.com/.

We are looking for:

  - Senior/Intermediate Web Developers to help us solve 
    scalability challenges, build beautiful UI/UX, improve
    search and rating algorithms, implement machine learning 
    and vision solutions.
  - Senior DevOps Engineers to help us grow our infrastructure, 
    build new tools and automation, provide expert advice on 
    building robust systems at large scale, and work with cutting 
    edge technologies like Docker and Kafka.
  - Senior/Intermediate Mobile Developers to help us build 
    500px iOS and Android mobile products for capturing, 
    editing, licensing and engaging with beautiful 
    photography.
What we offer:

  - hard technical challenges
  - competitive salaries
  - flexible work hours
  - unlimited vacation
  - free lunches
  - medical insurance
  - computer/laptop of your choice
Apply here: http://500px.com/jobs


"unlimited vacation" ... yeah we all know how well that works out


I don't. How have you seen it work out?


It doesn't work. It makes something that should be explicit into an implicit thing.

Where do you draw the line? Can I take 2 months holiday leave? No? That doesn't sound like unlimited to me, so let's not call it that.


http://500px.com, Toronto Downtown, Fulltime

500px is a photo community. Every month, millions of people use the 500px.com website and mobile apps to find and engage with the world’s most inspiring photography.

We value small teams, engineering-friendly culture, beautiful design and getting shit done. Our technology stack includes: RoR, Go, Backbone/Marionette, Elastic Search, Chef, AWS, Hadoop, Python for Machine Learning. Check out https://github.com/500px, http://developers.500px.com/.

We are looking for:

  - Senior/Intermediate Web Developers to help us solve 
    scalability challenges, build beautiful UI/UX, improve
    search and rating algorithms, implement machine learning 
    and vision solutions.
  - Senior/Intermediate Mobile Developers to help us build 
    500px iOS and Android mobile products for capturing, 
    editing, licensing and engaging with beautiful 
    photography.
What we offer:

  - hard technical challenges
  - competitive salaries
  - flexible work hours
  - unlimited vacation
  - free lunches
  - medical insurance
  - computer/laptop of your choice
Apply here: http://500px.com/jobs


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: