Back-End Engineer

Location: San Francisco SOMA district, CA

Type: Full Time

Min. Experience: Mid Level is a leading developer of note-taking and geo-tagging apps in the Google Android Market with over 7 million active installs on Android powered smartphones and tablets. Our apps also work on iPad, iPhone, and the web.

As a Back-End Engineer, you'll be responsible for the beating heart of Catch:  The sync engine that supports one-half million users a month.   Today, the core API service uses Python Twisted to integrate MongoDB, S3, GCM, and APNS to provide immediate sync and seamless data replication across our users' varied devices.  We also have a separate WSGI-based server that handles authentication, payment, and other lower-volume web services.

Initially, you'll be responsible for maintaining the existing system, including a variety of core changes to better support our growing user base.  Beyond that, you'll have the opportunity to help design and implement an entirely new back-end built on cutting-edge distributed concepts.

We are seeking someone adept with some or all of the following technologies:

  • Python, C, and Java experience
  • Python Twisted or other async frameworks
  • TDD and CI experience
  • MongoDB or other NoSQL storage approaches
  • JSON, XML, and other standard data-transfer methods
  • Experience with Amazon S3
  • Knowledge of OpenID, OAuth2, SAML and similar security protocols
  • Solid understanding of basic cryptography
  • Scaling server throughput using sharding, load-balancing, reverse proxy caches, message queueing, etc.

A few things that would help make your resume stand out:

  • Mobile experience is a plus
  • Javascript knowledge a plus
  • Distributed systems experience a plus
  • Some sys admin background is helpful for triaging production issues
  • Log file analysis and performance profiling
  • BSCS or better

If you think you're up to the challenge, send your resume and cover letter to

In your cover letter, explain why you would choose an async framework for some problems and a threaded framework for others. (Hint: we use both, so we clearly think each one is appropriate for different types of problems.)

Forward this Position
Recipient email address (one)
Your name
Your email address
Enter a message (optional)
Apply for this Position
* Required fields
First name*
Last name*
Email address*
Phone number*

Attach resume ( .pdf, .doc, .docx ) or paste resume

Paste your resume here or attach resume file

Cover Letter*
What’s your citizenship / employment eligibility?
LinkedInLinkedIn profile URL: