Principal Back End Engineer
Flickr
(San Francisco, California)Flickr is a mobile application and social network that offers an online photo sharing network for its users. It provides its users with the ability to capture, share, and view a number of images related to many categories.
Flickr's back-end engineering team is responsible for the software that keeps Flickr 99.99% available for hundreds of thousands of transactions per second across our site, apps and APIs, in a global, multi-datacenter context. The work encompasses infrastructure for data access, replication, search, queueing, caching, image processing, storage, data mining, data management and site integrity/abuse.
We are looking for candidates that share our passion for engineering systems that scale smoothly and that share our passion for Flickr and the web. Because we are proud to count the number of registered users per engineer in the millions, your work will have a proportionally larger impact that just about any other site we know of. This is a job you will be proud of for the rest of your life.
- Write code. We're looking for really good systems programmers. You should know at least one language very well and have experience with several. Java & C/C++ are preferred.
- Solve site scaling and availability challenges across multiple data centers
- Design, code and maintain high performance infrastructure for distributed applications
- Find and fix performance and reliability issues
- Work with other team members to plan for capacity, coordinate with partners and API consumers through documentation and discussion
- Contribute to the continual improvement of our development and continuous deployment process
- Strong computer science fundamentals: data structures, algorithms, programming languages, distributed systems and information retrieval.
- An excellent understanding of networking, blocking and non-blocking I/O, and Linux or some other Unix™
- Extensive experience with systems programming in C/C++ or Java SE
- An understanding of the performance, capacity and availability issues surrounding databases
- Experience implementing performance-sensitive elements of a distributed system
- Ideally you would have more than 5 years of experience.
Bonus:
- Academic background in engineering, computer science, math, physics or other science.
- Experience with replication and sharding
- Experience with any of the follwing: MySQL, Redis, netty.io, node.js
- Expertise in JavaScript, PHP, Python, Perl
- Experience building and maintaining a large scale, high volume system
- Experience with Flickr and online photo sharing (send us a link to your photostream!)
Working Conditions
This position is a regular/full time position and based in our San Francisco office.
Questions
There are no answered questions, sign up or login to ask a question
- Algorithms
- APIs
- C++
- Data Management
- Data Mining
- Data Structures
- Flickr
- JavaScript
- Linux
- Math
- MySQL
- Networking
- Perl
- PHP
- Physics
- Python
- Science
- Social Media Photo Sharing
- Unix
- Writing Code
- Database Caching
- Image Processing
- Node.js
- Redis
- Computer Science
- Continual Improvement
- Distributed Systems
- Queueing Systems
- Continuous Deployment
- Systems Programming
- Programming Language
- C Programming Language
- Information Retrieval
- engineering
- Netty
- Java SE

Want to see jobs that are matched to you?
DreamHire recommends you jobs that fit your
skills, experiences, career goals, and more.