Looking for a few good [wo]men
[ geir ] 07:23, Friday, 30 May 2008

This post is a RFP - "Request for People".

I've been meaning to announce that I've joined a new startup, 10gen. I'll write more about the change later. The upshot of 10gen should be well explained on the site (and if not, let me know so I can fix it), but in brief, we're developing a "platform" for what is very loosely called "cloud computing". I say "loosely", because the term encompasses a very broad range of technology and services, from basic grid computing to AWS to AppEngine to SalesForce to EngineYard to ... I'm working with some very smart and accomplished people (ignore the guy at the bottom of the page) and I'm lucky - we appear to all share the same views on code, agility, process, technology, product, etc.

What we're building is ambitious - an application server and a database that are designed for infinite scalability. In addition, we're building developer tooling, application libraries, and management infrastructure to help people develop, debug and deploy applications to said scalable application platform. A similar example is Google's AppEngine - it's an app server with a kind of database to which you can write applications, and those apps will run across the Google's resource grid. The 10gen platform is an app server with an object database (keep reading :), and this platform will run across a variety of resource grids - you can run it on Amazon's AWS, across standard managed hosting providers like Rackspace etc (even multiple ones, for geo and vendor diversity), or even run on your internal computing resources.

A key feature of our platform is that we're multi-language. We're focused on Javascript and Ruby at the moment for writing applications, but we have no religious or political convictions here - we're interested in supporting languages that people want to work on. (We are also dedicated to making such languages and related frameworks run fast.) The constraint is that we think that to get internet scalability, standard programming models have to change a little - you can't just toss a LAMP stack or Java EE server onto AWS and expect infinite scalability. While the benefits of AWS are clear - zero capex for infrastructure, dynamic resource availability, reduced operations personnel costs - you still have whatever scalability limitations you started with in your LAMP stack or Java EE server. Don't get me wrong - this isn't a ding on LAMP, EE, or AWS but just a recognition of the challenges we're all facing with our standard tools.

On the database side, yes Virginia, it's an object database. When I first heard this, I had what I imagine is the standard reaction by people that have only used RDBMSs - "huh?". But after playing with it, and thinking about the problem space, I'm convinced that this kind of database architecture is not only nice, but required. Clearly Google and Amazon think so too as their data stores are either object stores or tuple stores. Sure, you can run a RDBMS on at Amazon, but that's just as scalable as your current config. It's clear that an ODBMS isn't going to be the right database for all applications, but I think that what we have is very "fit for purpose", and the RDBMS isn't the right database for all applications either. (Think of how much time we all spend as programmers trying to deal with the RDBMS in a sane way via JPA, Hibernate, iBatis, JDO, Linq, ActiveRecord, ActiveTable, Django, SQLAlchemy, Storm, DataMapper, DataXtend, etc)

Anyway, we're looking for really good people to join the team. We're focused on hiring in our New York office on 20th Street in what is colloquially known as "Silicon Alley", but I'll consider other arrangements. We have some really big and interesting problems to solve, and we need people of all experience levels and backgrounds. The app server is written in Java, and the database in C++. There are all sorts of scalability, grid and management issues to solve. Our application libraries and frameworks are written in Java, Javascript and Ruby. We want to build tooling for Eclipse. We're going to be open sourcing major parts of our codebase. I need core appserver and db engineers, application library and framework engineers, Ruby and Ruby on Rails engineers, Eclipse plugin engineers, QA engineers, QA technicians, technical writers, community leaders and managers, developer relationship managers, etc. The list goes one. I could formally list the job specs, but I think that if you've read this far, our time would be better spent talking. Just drop me a mail at geir at 10gen dot com. If you have my phone number, call me.

This is an exhilarating, terrifying space with exhilarating, terrifying problems to solve, and we have an opportunity to make a real impact. Life is too short to be bored :)


Comments

Sounds very cool. I'm not in New York and quite happily employed but I'm glad I took the time to check it out anyway. It's particularly interesting that you're building the developer tools to go with the platform and that there's Java work involved. Current trends in the popular culture of scalable systems seems to be away from Java and complex tools - vi and emacs seem to be roaring back into fashion.

Are you expecting that this will make scalable development easier for the less elite programmers (even if it's not the same)? Systems like E2 make it easy to run up more servers but do nothing to help scale though Google App Engine is a lot more helpful.

--Adrian Sutton, May 30, 2008 09:47 AM

It is cool :)

vi and emacs are fine (our CTO is an emacs guy, and I at least use the keybindings in Eclipse and Idea) - we're doing what we can to make sure that devs can use as much of their 'standard' toolchain that they want. Edlin lights your lucky? Have a party.

I think that Java is a fine "substrate" for building systems on - more properly, the JVM is. (Yes, I know the objections....)

The goal is to make scalable dev easier by providing a platform where the scalability work has been done already, and people can just focus on writing the applications. As you note, EC2 makes it easy to add raw compute resources, but things like GAE (and 10gen) make that kind of resource availability accessible to a much broader range of people.

--Geir Magnusson , May 30, 2008 12:02 PM

Sounds quite interesting. I'm looking forward to when some more details get out.
It is good to see someone with the guts to take on Amazon and Google - they need someone to keep them on their toes.

--Mads, May 30, 2008 01:44 PM

Yes, taking on Google and Amazon. What could possibly go wrong? :)

--geir, May 30, 2008 02:20 PM
Post a comment









Remember personal info?