Tuesday, October 26, 2010

How does one decide how much a given project is worth? One thing that can complicate this question is the fact that our values change over time. For example, focusing on the long-term plan for world domination is arguably a better idea than making lots of tweaks to a product in order to marginally improve next week's revenue. But if you're gonna go broke in a month, maximizing next week's revenue starts to seem a lot more important.

I just realized I could take shifting values into account with value grapher simply by keeping multiple project-value files. My overall goal is the same as it always was: making myself more productive. I set my original project-values with this goal in mind. Here is my original graph:

As you can see, I only had one decent spike in the last forty days (Caused by me getting the bright idea to turn my productivity graph on its side and add labels indicating what I was working on each day.) After that is a long trough: It started with me working on a few random projects. Then I spent five days working on my YCombinator application (probably longer than I should have). Then I worked on my "keygraph analysis" tool -- a project that has the potential to (someday) be extremely useful in my quest to make programmers more productive.

Then I had a five day mini-crisis. Basically the problem is that I've got about six months of savings left, and I've been resisting dealing with the reality of those circumstances. Over these several days I questioned everything about what I was working on. I realized that my system of deciding what to focus on was pushing me toward long-term plans so hard that I wasn't paying enough attention to the land mine I was about to step on. I meditated on ethics and economics. Eventually I came to the rather obvious conclusion described in the first paragraph, and adjusted my priorities accordingly. It all seems rather silly in retrospect -- but I guess it's good to take some time to get one's head straight every now and then.

And the rest of the graph is me working on this web app. Which does essentially zero in terms of improving my long-term productivity (because I already had a version that worked for me).

So! I ended up making a new set of project values to keep alongside my long-term file. I call this one "dont_die.txt". Instead of valuing projects by the effect they will have on my long-term productivity, I value them based on their potential to keep me from going broke in the immediate future. When I view my graph through the lens of this new value set, a very different pattern emerges:

Maybe those five days spent applying to YCombinator weren't such a misallocation after all. Now that I reflect on it, getting money from investors seems like the most time-effective way to solve any immediate cash flow issues allowing you to focus on medium-term problems like ramen profitability and longer-term problems like transforming the way people work.

A fairly obvious conclusion, perhaps, but it's still nice to see the idea graphed out explicitly.

Monday, October 25, 2010

First Post

Hi, I'm Jesse, and I want to make programmers more productive.

I plan to release a series of tools to forward that goal.

These are tools that I originally developed for myself, but have now decided to share with others (hopefully making a lot of money in the process).

My first step in this journey is releasing Value Grapher. It was a desktop tool that I've just turned into a web-app.

So what is Value Grapher? Well... as I work I find myself asking a number of questions over and over: Am I using my working hours effectively? Is this project taking more time that it's worth? Should I be focusing more on the long-term or the short-term? How much more? Value Grapher is an attempt at answering questions like these.

Basically how it works is you tell it how much time you spent working on each of your projects and how much each of those projects are worth. Value Grapher takes the value of each project divided by the amount of time you spent working on it and gives you back a graph of your productivity.

This is very much a minimum-viable-product. It's a step down for me functionality wise. I had to make a few sacrifices in order to get it working as a web-app. But I've decided to start dog-fooding my crappy web-app and as of today have gone cold-turkey on my original tool. We'll see how it goes.