Our mission is to connect the world’s photographers. 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, Go, Ruby on Rails, MySQL, MongoDB, Redis, ElasticSearch, and various Amazon AWS services. Check out our Engineering Blog for more.
It has been a long journey since 500px started a few years ago. Though we have been continuously improving our existing backend, its fundamental design doesn't fit our current scale of data and traffic any more. To build a robust and scalable system using the latest technology and cloud offerings, we are now forming a new backend team to rearchitect the entire 500px backend and build the new system from the ground up.
You will plan, implement, deploy, and maintain the new backend, in close collaboration with other backend developers. You’ll play a pivotal role in designing and building the next generation of the 500px architecture.
What You'll Be Doing
- Architecting the new 500px systems infrastructure.
- Building highly scalable services in Go, Python, or Java.
- Turning business requirements into code, in close collaboration with product managers, and front-end web and mobile developers.
- Participating in technical planning and decision-making.
- Becoming intimately familiar with our existing 500px system, and forming an opinion about how to replace them one by one in the new backend.
- Coordinating and collaborating with developers across the entire stack.
- Providing technical mentorship to other team members.
- Being comfortable to work with remote teammates.
You’ll have ownership over the new backend, and you’ll support other developers in building new services and components. You will be an advocate for performance, stability, and scalability across all of 500px, and encourage others to be as well. We are looking for a person who loves collaboration and is excited to take on new challenges.
What the Ideal Candidate Will Have
- Intermediate-level knowledge of Go, Python, or Java.
- Knowledge with Amazon AWS services.
- Experience using, or familiarity with, MySQL, MongoDB, Redis, Memcached, and Elasticsearch.
- Solid fundamental understanding of web technologies including HTTP, RESTful services.
- Complete comfort and familiarity with software development tools (git, Github, bug tracking), Linux environments.
- Significant experience applying those skills and knowledge to build and maintain high-traffic, consumer-focused web services.
- Good architectural sense and a passion for high quality code, honed by experience.
- Solid understanding of application monitoring, metrics, and performance optimization.
- Interesting technical challenges
- Competitive salaries
- Flexible hours
- Catered lunches, snacks and drinks
- Great health and dental benefits
- Professional development opportunities
Our Interview Process
- Phone screen: < 30 min conversation with a hiring manager.
- 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.