Puppet: System Administration Automated

Looking For a Partner (or Three)


This is a post from Luke's old blog; it is saved here statically for historical purposes, as of October 2008

I am looking for a cofounder/partner for Reductive Labs. Being at the Web 2.0 Conference just reinforced how important it is to be able to work with someone, and the full list of what I hope to do, which was not shortened any by the conference, makes my solitude that much more difficult.

I am primarily looking for a kick-ass developer or two, because that's the area where I need the most help, but I am also looking for someone with serious web design and web community chops.

The Project

I am writing a distributed, self-updating server automation framework. The three key aspects of the framework are the language, the client/server framework, and the library.

I am doing all of my development in Ruby, and I expect to make significant use of Rails in the near future. While experience with these is not required, it'd certainly be great.

The Partner(s)

I am looking for someone who can help to fill some of the gaping holes in the system administration toolchain. I want Puppet to become the spider at the center of a great web of functionality, and I need someone else who is committed to creating software and solving difficult problems. I prefer someone who is more programmer than, say, project manager, because I have too much development to do and not enough bandwidth to do all of it.

Also, as I expect that a significant amount of my future development will be in the form of simple web applications, a great web designer/developer is highly desirable.

I don't have a hard definition of what I'm looking for. My product spans a pretty large range of topics, so experience in any one isn't particularly important. There are a few hard requirements, but they are more related to company's position than the work you would be doing:

Development Skills

The short summary here is that I think a great developer is a great developer, regardless of specific skills or training. No specific skill here is a deciding factor; they just describe what I am doing and thus generally what I am looking for.

Puppet is currently focused on two areas, language design and library development. While experience with language design and parsing would be a huge plus, it's not required, since that area is solid enough for now. That leaves library development: I am writing a cross-platform library capable of modeling and managing every discrete element on any computer, including those that the computer does not treat discretely, like cron jobs (which are aggregated together into a cron tab), users (which are spread across /etc/shadow and /etc/passwd), and many others.

There is a huge amount of work to do to implement all of these elements, and that work is made more difficult by the fact that each element should work on as many platforms as possible. Therefore, abstraction is going to be a big part of the job.

In addition to the current work, I am planning on expanding into how to handle the data produced by Puppet, which will necessarily involve human-digestible output, which almost certainly means Ruby on Rails. I hope to have, oh, many small and essentially independent Rails apps accepting data feeds from Puppet.

Interested parties must be great at testing. I already have about 30% of my code base dedicated to testing, but I know my tests aren't sufficient, and test driven development is a big part of how I code these days.

All of my code is in Ruby, so experience with that would be a plus but not necessary. The more languages the better, in my opinion, but experience with more dynamic or "different" languages like LISP, Smalltalk, and Haskell can only mean good things, in my opinion.

Other Skills

Community, and especially web-based community, is a critical aspect of an successful OSS project, and as already mentioned I expect we'll be developing many small Rails apps in the near future, so web design skills would be a serious positive, along with experience and skills in the area of developing and maintaining a community.

Locale

Locale does not matter that much to me, but I currently live in Nashville, TN, right now, and all things being equal the company is likely to stay headquartered here.

Business Model

I assume any potential parters are interested in what the business model will be, so... It will initially rely on service (training, and consulting to help customers get an initial Puppet install) and support. It should scale well for the first year or two, and I think there are plenty of opportunities for the longer term. Talk to me directly for more detail.

Any interested parties should contact me at luke at reductivelabs.com.

add to del.icio.us Add to Blinkslist add to furl Digg it add to ma.gnolia Stumble It! add to simpy seed the vine TailRank post to facebook

Thu, 27 Apr 2006 | Tags: