21 Sep 2011

Full-Time Software Engineer

Quixey – Posted by nosqljobsPalo Alto, California, United States

NOTE: This job listing has expired and may no longer be relevant!

Job Description

The core of Quixey’s product is a growing database of apps. We write code to collect new data, improve existing data, find useful patterns in app data, build clever schemas and indexes for app data, search app data, and let users navigate app data.

As one of the first engineers, you’ll have a huge influence on the product and be asked to solve hard problems.

Requirements

  • Extraordinary software engineering talent.
  • Have written 50,000 good-looking lines of code.
  • Before that, have written 50,000 lines of code that you’re embarrassed by.
  • Know all that stuff they teach in college CS that most people forget.
  • Speak and write clear arguments, explanations and proofs.
  • Can write a compiler from scratch.
  • Can write a quine.
  • Can write binary search with no off-by-one errors in under 2 minutes.

Nice to Have

  • Have programmed something that lots of people use.
  • Use a pimped out text editor, custom shell scripts, and generally know how to take advantage of tools.
  • Can write idiomatic Python.
  • Can code an HTML and CSS clone of Google’s home page in 5 minutes or less.

Technology

The main tools we use right now are Python 3, MongoDB, CherryPy, nginx, Amazon Web Services, jQuery and Git.

Screening Questions

  1. Write a (stateless) function nextPermutation that takes a permutation (as a list) on the elements of the set {1, …, n} and returns the “next” permutation, so that chaining n!calls to nextPermutation([1, …, n]) results in the generation of every permutation on the set {1, …, n}.
  2. A client connects to a server which will stream it N 32-bit integers and then disconnect, where N is a-priori unknown to the client. Describe an O(log N)-space algorithm you could run on the client that would return any of the N integers with probability 1/N. (The algorithm only gets run once.)
  3. A quine is a program that outputs its own code. Write a Python function counted_quine with docstring “This function has been quined 0 times.” The function should output a string that exactly matches its code except that the 0 in the docstring should be 1. The outputted function should output the same thing but with the 1 replaced with 2, et cetera ad infinitum. The real challenge of a quine is that a function has to output its source code without ever being inputted its source code – so please don’t rely on something like __file__.

How to Apply

If building an intelligent all-platform functional search engine for apps sounds interesting to you, please email your answers to jobs@quixey.com

Job Categories: Engineering. Job Types: Full-Time. Job Tags: aws, cherrypy, git, jquery, mongodb, nginx, and python.

Apply for this Job

Loading...
Subscribe to Free, Weekly NoSQL E-mail Newsletter