Skip to main content
GameDev.net gamedev.net
🔒 Locked 🤖 Godot

[Well paid] RethinkDB is hiring systems engineers to take over the world

Started by CoffeeMug Jun 17, 2010 at 2:37 AM 1 replies 1.7k views
Original Post
CoffeeMug
CoffeeMug
I started visiting GDNet when I was 15, and I am now 27. I learned most things I know about programming here. I recently started a hard technology startup, raised money from some top investors in the country, and we are looking to hire hardcore engineers to join us in our world domination plans. It is not game related, but is as close to a game (in terms of the technology) as one can get without actually being a game. Great systems people are hard to find, and GDNet is a great place to look. So, I post this here with the permission from jbadams.

Team name:
The company is incorporated under Hexagram 49, Inc. (we had no product name yet when we needed a legal name), but we're now known as RethinkDB.

Project name:
The first product is named RethinkDB.

Brief description:
We are building the database for solid-state drives. The first product is an industrial strength, high performance storage engine exposed via various APIs (memcached, MySQL, etc.) Our mission is to rethink how databases are designed, implemented, and used. Our ultimate goal is to build a product so good, that when people ask "which database do I use for X?" the answer from other people will almost always be "RethinkDB".

Target aim:
This isn't set in stone yet, but it's likely that the first product will be distributed under an open source license, and we will charge for support. In the future we will have more sophisticated pricing - for example, charging per transaction, per machine, etc.

Compensation:
We're hiring full time developers, and pay from $70K - $125K/year, and 0.25% - 2.25% of the company in equity, depending on experience. Please see the jobs url (below) for a detailed breakdown.

Technology:
The first product is exclusively targeting Linux (eventually to be ported to Win32/Win64). It is written in C++, and we have some Python and shell scripts for glue. It's an asynchronous IO system optimized for very high throughput, and involves dealing with various systems issues ranging from memory allocation, on-disk garbage collection, b-tree implementation, caching algorithms, concurrency control, interfacing with various OS system calls, etc. We do rigorous benchmarking and have strict statistical latency and throughput requirements. The system is as close to a game in terms of the type of work involved as possible, without actually being a game [smile].

Talent needed:
We are looking for people with strong knowledge of C or C++, understanding of concurrency, algorithms, I/O, and experience writing code close to the OS. More details are on the jobs link (below), but if you've spent some years building games or game demos, programming languages, virtual machines, etc. professionally or as a hobby, you most likely qualify.

Team structure:
Currently the team consists of two founders (me, and my co-founder Mike), one full-time employee and one intern (three more interns are joining us this month). We are building the core engineering team, and are looking to hire two more full-time people (interns are welcome year round, but we're staffed this summer). All of us are hard-core engineers, except Mike. He is a CS person and understands technology very well, but is working on everything non core-code related that would otherwise suck our time (scripts, legal stuff, website, marketing, design, various outside interaction, etc). Ultimately, I am the benevolent dictator, but you will only find this out if I feel something is going very wrong (which likely means I did a poor job hiring the right people and getting them on the same page). We're all working hard to build the team in a way where I don't have to exercise my powers.

Website:
General website is at www.rethinkdb.com. You can see more detailed job requirements at www.rethinkdb.com/jobs.

Contacts:
jobs@rethinkdb.com

Previous Work by Team:
I built Weblocks - a Common Lisp web framework, Fractal - a 3D demo for a gamedev contest (man, time flies), and maintain a blog at defmacro.org. I cannot speak for other members of the team, but we are all very competent people (unless we're deluding ourselves, which, of course, there is no way for us to tell from a philosophical standpoint [smile]).

Additional Info:
Let's take over the [database] world together! We're located in sunny Mountain View, CA (we require relocation for now, and would help with a relocation package).

Feedback:
ANY

[Edited by - CoffeeMug on June 17, 2010 7:04:29 PM]
Ravyne
Ravyne
Interesting opportunity.

One thing that's not entirely clear is whether you require relocation (and, if so, whether there's help available for that.)

Sounds like an interesting problem though (and touches on some of my interests, though I'd be worried my Linux skills/knowlege are not up to snuff).

Have you read the recent paper about speeding up B-Trees by an order of magnitude? It turns out the author had essentially independantly invented a cache-oblivious tree structre, but it sounds very much similar to what you're setting out to do -- stop viewing the computer as a virtual machine with a flat memory system, and solve the problem taking into account the software/hardware memory heirarchy for what it is (cache/physical/virtual) in the real world.
throw table_exception("(? ???)? ? ???");
CoffeeMug
CoffeeMug
Quote:
Original post by Ravyne
One thing that's not entirely clear is whether you require relocation (and, if so, whether there's help available for that.)

Thanks, fixed the post. The answer is yes, and yes - we're in Mountain View, CA, and we'd be happy to help with a relocation package for the right candidate. We currently can't accept applications from outside U.S. (other than Canada and Mexico, who have a simplified visa process) because we're on a tight schedule and can't wait for the visa process.

Quote:
Original post by Ravyne
I'd be worried my Linux skills/knowlege are not up to snuff.

I doubt that's a problem - our interview process is OS agnostic (for example, we expect people to understand what asynchronous IO is, but don't care if you understand it in a Windows or Linux context). We need people that have some core knowledge in systems level programming, but in general care more about aptitude than experience.

Quote:
Original post by Ravyne
Have you read the recent paper about speeding up B-Trees by an order of magnitude?

One of the researchers - Michael Bender, is a professor at the university we come from (Stony Brook). They also got together and started a database company, take a look at Tokutek. We're doing a lot of stuff around caching and not treating memory as a flat system, but with a different bent.



Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.