Server Side Engineer
- company:
- Shopkick
- location:
- Menlo Park
- category:
- Software Development
Shopkick is looking for a Server-Side Engineer to write the logic that powers web and mobile services, informed by a thoroughgoing knowledge of infrastructure, scalability, and performance.
Responsibilities
- Design, implement, benchmark, and deploy simple, elegant, high-performance code.
- Create scalable infrastructure supporting rapid expansion.
- Design and implement flexible APIs supporting location-based services from smart phones.
Skills
- You have a thoroughgoing understanding of server-side engineering for web sites, using open-source software stacks.
- You are a creative thinker, with a knack for finding the simple "right" answer, in an extensible way.
- You like to develop code in an "agile" development, working closely with product and the rest of the engineering team throughout the development process.
- You are comfortable with database design and querying, preferably MySQL: you know the trade-offs in schema design, you're not the kind of person who delegates all queries to an ORM, and you know (and care) what is efficient.
- You have worked on projects that have "scaled big." You automatically think about distributed systems. It's likely (and desirable) that you were there for a lot of growth, and you've got some scars from scaling that have taught you how to approach scalability.
- You understand the underpinnings of large-scale distributed systems, including communications mechanisms, caching technologies, etc.
- You have experience in API design, and RESTful services are second nature for you. You're also comfortable with binary wire protocols, and know when to prefer one over the other.
- You have been exposed to service-oriented architectures. You're comfortable with the idea of combining data from various sources on the fly, and with figuring out how to get it fast.
- Since you care about scalability and are something of an out-of-the-box thinker, it's likely that you have extensive experience with non-relational data stores as well (Sleepycat, BigTable, Cassandra, etc.).
- You have an unusually comprehensive systems-level understanding of web services. You can think backwards from an SLA to figure out what types od redundancy are needed and how to provide it inexpensively, using open-source technologies.
- You are sensitive to performance issues and routinely instrument code and address bottlenecks with appropriate data models, algorithms, tools, and techniques.
- You are the sort of person whom your peers naturally gravitate toward and look to for expertise when they are lost. You like to code, but you are also a leader.
Experience
- At least four years' experience writing distributed, high-volume web services.
- Familiarity with several open-source application development stacks.
- Facility with SQL query analysis.
- BSCS or better, or equivalent experience.
- Experience with service-oriented architectures, such as Thrift, ActiveMQ, etc., strongly preferred.
- Experience designing APIs preferred.
- Expertise in Python a strong plus. Pylons is an added bonus.
- Exposure to enterprise systems in a previous life a plus.
To apply send your resume to jobs@shopkick.com with Server Side Engineer in the subject line.