Startup stock options allocated by your peers

In the future, most startups will probably allocate stock options the way we do at Coffee & Power.  The graph above is the results for the latest quarter, in which 14 team members each allocated an identical number of stock options anonymously to their peers.   I had previously done this very successfully with cash bonuses/profit sharing at Linden Lab with upwards of 200 people participating.  At Coffee & Power we chose to try allocating stock options in this manner as well.  Possibly we are the first company ever to distribute equity in this way (tell me if you know of any others).  It works really well:

  • More brains are better than one at evaluating performance:  Our process correctly identifies and rewards the same ‘top performers’ that would be identified by a management-led process, but then also identifies individuals lower in the organization that deserve ‘hazard pay’ or have contributed in other extraordinary ways.   By letting everyone contribute to the decision, you outperform even the most well-meaning and skilled management team, because they simply do not have the time to spend on the discovery process.  But the ‘crowd’ of everyone acting in parallel can do it easily.
  • Managers are freed to focus on leadership, not performance assessment:  Managers should spend their time making tough decisions, evangelizing, setting strategy, and mentoring their teams.  It is painful, fractious, biasing, and inefficient to have them also forced to analyze performance.  This process replaces the majority of that work.
  • Improved productivity, culture, and hiring:  Wouldn’t you be inspired to go to work at a place that trusted every employee equally to allocate the company’s stock?  Would you work harder and better, knowing that not just your manager but everyone you interacted with would ultimately be evaluating you?

The several risks most people imagine actually don’t come up, and we’ve tested this repeatedly:

It doesn’t become a popularity contest:  The ‘crowd’ automatically factors for popularity and visibility, typically finding/rewarding unsung heroes, as mentioned above.

It is easy to prevent cheating:  You simply give a few random people the ability to audit the distributions other than those received by them.
There are many industries and processes being affected by the power of different types of ‘crowdsourcing’, but I predict performance review will be one of the ones we will look back on as truly revolutionary.   This recent WSJ Article has a similar message.

Add number of unread messages to your GMail signature

My Email sig tells everyone (and me) how many unread messages I have in my inbox.  It’s been a nice motivator to keep on top of my mail.  Another example of how increasing transparency, though sometimes uncomfortable, is generally a good thing if you can push yourself to do it.

I’ve had several people ask me about it, so I thought I’d just paste in the source code I used below.  It’s a greasemonkey script that was quickly written for me by a nice guy named Valentin (you can find his info below).  You have to run a browser on which you can install greasemonkey, but if it’s any use, here you go:

// ==UserScript==
// @name          Gmail Inbox Unread Count Signature
// @namespace     http://valentinlaube.de/projects/greasemonkey/
// @description   Replaces the string %unread_count% in your signature with the number of unread messages in your inbox.
// @include       http://mail.google.com/*
// @include       https://mail.google.com/*
// ==/UserScript==

// helper function copied from “Google Image Relinker” Greasemonkey script
function selectNodes(doc, context, xpath) {
var nodes = doc.evaluate(xpath, context, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var result = new Array( nodes.snapshotLength );

for (var x=0; x < result.length; x++)
{
result[x] = nodes.snapshotItem(x);
}

return result;
}

function GM_callback(fn) {
return function() {
setTimeout(fn, 0);
}
}

function getUnreadCount() {
var doc = g_gmail.getNavPaneElement().ownerDocument;
var label = selectNodes(doc, doc.body, “//a[contains(@title,'Inbox ')]“)[0];

var labelText;
if(label) {
labelText = label.textContent;
} else {
// maybe it is collapsed
label = selectNodes(doc, doc.body, “//span[contains(text(),'Mail ')]“)[0];
labelText = label;
}

var unreadCountString = label.textContent.match(/.*\((.*)\)/)[1];

return parseInt(unreadCountString);
}

function getTotalMessageCount() {
/*
var top_bar = g_gmail.getActiveViewElement().firstChild;
console.log(g_gmail.getMastheadElement());
var totalMessagesCountString = top_bar.textContent.match(/.* of ([0-9]*)/)[1];
*/
var doc = unsafeWindow.top.document.getElementById(“canvas_frame”).contentDocument;
var nodes = selectNodes(doc, doc.body, “//span[count(b)=3]/b”)
var totalMessagesCountString = nodes[nodes.length-1].textContent;

return totalMessagesCountString;
}

function getBodyTextElement() {
var activeElement = g_gmail.getActiveViewElement();
if(!activeElement) {
return false;
}
var doc = activeElement.ownerDocument;
if(!doc) {
return false;
}
var textarea = selectNodes(doc, doc.body, “//textarea[@name='body']“)[0];
return textarea;
}

function getBodyHTMLElement() {
var activeElement = g_gmail.getActiveViewElement();
if(!activeElement) {
return false;
}
var doc = activeElement.ownerDocument;
if(!doc) {
return false;
}
var iframebody=selectNodes(doc, doc.body, “//iframe[contains(@class,'editable')]“);
if(iframebody.length<1) {
return false;
}
return iframebody[iframebody.length-1].contentDocument.body;
}

function getBodyText(elm) {
return elm.value;
}

function getBodyHTML(elm) {
return elm.innerHTML;
}

function splitTextAtRegex(text, regex) {
var splitIndex = text.search(regex);
var before = text.slice(0, splitIndex);
var after = text.slice(splitIndex);
return [before, after];
}

function splitBodyText(body) {
return splitTextAtRegex(body, /^– $/m)
}

function splitBodyHTML(body) {
return splitTextAtRegex(body, /<br>– <br>/m)
}

function setBodyText(text) {
getBodyTextElement().value = text;
}

function setBodyHTML(text) {
getBodyHTMLElement().innerHTML = text;
}

function replaceSignature(signature) {
signature = signature.replace(/%unread_count%/m, getUnreadCount());
signature = signature.replace(/%total_count%/m, GM_getValue(“totalMessageCount”));
return signature;
}

function changeSignatureText() {
var elm = getBodyTextElement();
if(!elm) {
return;
}
message = getBodyText(elm);
[message, signature] = splitBodyText(message);
newSignature = replaceSignature(signature);
if(newSignature == signature) {
return;
}
setBodyText(message+newSignature)
}

function changeSignatureHTML() {
var elm = getBodyHTMLElement();
if(!elm) {
return;
}
message = getBodyHTML(elm);
[message, signature] = splitBodyHTML(message);
if(!signature) {
return;
}
var newSignature = replaceSignature(signature);
if(newSignature == signature) {
return;
}
setBodyHTML(message+newSignature);
}

function viewChangeCallback() {
// return when not in compose mode
if(g_gmail.getActiveViewType()!=”co” && unsafeWindow.top.location.hash!=”#compose”) {
if(unsafeWindow.top.location.hash==”#inbox”) {
GM_setValue(“totalMessageCount”, getTotalMessageCount());
}
return;
}
changeSignatureText();
changeSignatureHTML();
}

var g_gmail;
function gmailCallback() {
g_gmail = unsafeWindow.gmonkey.get(“1.0″);

try {
g_gmail.registerViewChangeCallback(GM_callback(viewChangeCallback));

window.setInterval(function(e) {
changeSignatureText();
changeSignatureHTML();
}, 500);
} catch (ex) {
// try again
window.setTimeout(gmailCallback, 500);
}
}

window.addEventListener(“load”, function() {
if (unsafeWindow.gmonkey) {
unsafeWindow.gmonkey.load(“1.0″, gmailCallback);
}
});

Count to 10,000


To Begin:  Every day, as you wake up, start counting in your head.  Do it whenever you can, remember where you left off, and get to 10,000 before you go to sleep!

Last week, on the 4th of July, I celebrated my fourth straight year of meditating for more than an hour, every day.   So that’s something like 1,500 hours.  I am now comfortable with 90 minutes of sitting meditation, my longest having been more than 3 hours.  There is little argument that a large amount of meditation changes you in a positive way, but it takes a lot of it – probably 100 hours or more – to start to give you a feel for the power of it.  So of course most people don’t do it, although lots of people talk about doing it, or try it a little bit, which isn’t helpful.

The technique described above was what I thought up to get myself to do it, and it worked.  When I started, I was convinced both that meditation would be a big win for me to do it, and that without some sort of powerful internal motivation I would not be able to do it.  Also, I felt that the traditional approach of taking a fixed about of time in the morning to sit both would not work for my schedule.  Additionally, my thinking about the workings of the brain suggested to me that ‘compartmentalizing’ the meditation into the same daily time/place/strategy would make it less likely that the benefits would transfer to other aspects of my life.  I wanted something that would integrate the meditative experience into my waking life – something that be likely to mix bursts of meditation into everything I was doing.  I picked the image on this post as a great example of what I wanted: that scene from Star Wars where the Jedi Qui-Gon Jinn meditates behind a temporary power barrier for a few seconds before leaping back into battle.

One of my dearest friends has been a monk in a monastery for the last 15 years (after getting his PhD in Plasma Physics – quite a remarkable guy, but that’s another story).  Every couple years over my life I’ve gone down and spent a couple of days at the monastery, and one of those times he mentioned that he held and counted a rosary while meditating, and that for a period of several years he had been able to repeat a mantra while meditating more than 10,000 times a day.  Thinking about this inspired me:  I would challenge myself and make a bit of a game out of meditating by giving myself the challenge of counting every day to 10,000.  I could do it anytime that I could find a moment, but I had to maintain enough presence to remember my place (or at least to within 100 or so), and I had to get to 10,000 before sleeping and starting over the next morning.

So that worked!  It took a week or so to get up to 10,000, and the first couple days I thought it might make me crazy, but the rhythm of counting rapidly became faster and easier to remember my position.  When I started, it took about 2.5 hours total to complete the counting (usually by sitting meditation, running, or sometimes while driving or listening to someone talking).  Today it takes me about 90 minutes, because I count faster in my head.  I’ve missed 10,000 a few days a year, but not many more.  This process has now been my constant companion for 4 years.

There are so many interesting things to be said about the experience and the positive aspects of it, that I think I could write a book about it all some day.    One remarkable one is the lucid feeling of presence that suddenly remembering that you need to keep counting brings you… like a series of breadcrumbs dropped along the path that has been your day.  You can’t get as lost in your own thoughts.   Counting while listening also makes you a better listener – the small challenge of sequencing numbers seems to suppress the wandering of your mind that can otherwise so easily happen.

Some tips to help you, should you care to try this:  Seated meditation and aerobic exercise are the easiest and fastest ways to count.  Remember where you are by rounding to the two digit number for where you stopped, so in otherwards if you are at 2,675 just remember you are at 26.  You can smoothly count about 100 per minute by saying the whole number in your head as the two two-digit parts: for 3,651 you would say “thirty-six fifty-one”.  If you fail to reach 10,000 before sleeping, email yourself the number you reached and the reason why you missed, and then track those misses to keep yourself honest.

Finally, if you give this a try, please email me and tell me about your experience!

Slides from Startup Class


I gave a class at PariSoma last week on doing a startup… here are the slides.

The Tao of Linden

The original ‘Tao of Linden’, was a written capture of our work practice for the first few years of Linden Lab, circa 2006, with special writing credits to Ginsu Yoon, if I remember correctly.  On looking back, I’m more convinced now than ever that these simple principles are memorable, effective,  and increasingly optimal for the project teams of today.  The full text from my 2006 blog post:

Linden Lab has a different and better way of doing work. It relies on the idea that if the level of transparency (everyone can see what everyone else is doing) can be made high enough, you can stop managing people by explicit authority or delegation. Instead of being told what to do, you choose your own work by listening to your peers, making good strategic judgements, taking risks, and surfing a huge amount of information.

As one of a very few pioneers in doing things this way, there is still a lot to learn. We make mistakes. But the things we have gotten right are impressive: Linden Lab has, in 6 years, had almost zero employee turnover, and our productivity, in comparison to other similar sized teams, is off the charts.

Here is the first page of our internal handbook, designed to serve as an introduction to new team members:

TAO OF LINDEN LAB

Vision

To expand the human experience by building an online world allowing
people to interact, communicate, and collaborate in a revolutionary way.

Company Principles

Work together! The problems we have faced and will face in
creating Second Life are generally larger than one person can solve,
and solving them is one of the defensible strengths we have as a
company. We will succeed only if we collaborate with each other
extensively and well. This means helping others reach their goals,
joining teams, and being easy to work with.

Choose your Own Work. Given how dynamic the
challenges are we face, and the opportunity for increased job
satisfaction and productivity, Linden Lab places a high premium on
choosing your own work, rather than being told by anyone what to do. By
choosing your own work, you are more likely to have more fun at work
and add more value to Second Life. By setting your own goals, you are
more likely to meet them. When you commit to a team project, be
prepared to be directed by the team lead, but when deciding what
project you will take on next, rely first on your own best intuition
and the counsel of peers.

Be Transparent and Open There are many ways to
emphasize responsibility, accountability, communication and trust. We
believe that the one key principle that best supports all of these
values is transparency. As much as possible, tell everyone what you are
doing. This transparency makes us responsible to our peers, makes us
accountable to our own statements, and replaces the need for management
with individual responsibility. Over time, it creates and reinforces
trust. Be willing to share ideas before you feel they are ‘baked’.
Report on your own progress frequently and to everyone.

Make Weekly Progress We believe that every person
should make specific, visible individual contributions that moves the
company forward every week. Projects must be broken down into
measurable tasks so that making weekly progress is possible. This is a
principle that almost no one believes is true when they first hear it,
yet everyone who keeps to this principle over the course of several
months is stunned by the amount of progress made during that time. Set
weekly goals and report progress to everyone.

No Politics! Never act to advance your own interests
at the expense of the interests of the company. This is the one
principle, outside of violations of law, for which violation will
likely result in immediate termination.

Might Makes Right Just kidding – wanted to make sure
you’re still paying attention. Lots of things could be said here: Have
a sense of humor. Have a sense of humility. Have fun. Call out
inconsistency in principles when you see it. Don’t let a staid form and
function become routine and boilerplate. Which leads to our last
principle . . .

Do It With Style It’s not enough that we want to
change the world. It’s not enough that our product is incredibly
complex and our vision is vast and shifting. We’re not just going to
win, we’re going to do it with style. That means a lot of different
things, and a lot of what it means can’t be captured in a handbook.
Find out by talking to your colleagues, by living the principles above,
by exploring Second Life.

Welcome to Linden Lab.

 …

Image

 

From a Tween, the Tao of Texting

My sixth-grade son recently got into a little trouble, and we imposed some restrictions on ‘screen time’ (as parents say), including not being able to constantly text message while at home.   Later that evening he appeared and handed us this printed entreaty, which has big points about the peril and promise of this highly real time and compressed channel which is so often misunderstood (and maligned) by us grownups.  Sherry Turkle talked at this year’s TED about the negative aspects of texting, and as I listened I couldn’t help thinking she wasn’t giving enough airtime to the positives.  Faced with separation from his beloved iPhone, my son made some big points:

Meeting New People:

“pretty much my relationships start with texting because I’m more comfortable texting someone then talking to them in person or calling them on the phone … it would just be awkward to go up to someone and say ‘i like you’”

Group Conversations:

“If I want to talk to a bunch of people the same thing i shouldn’t have to do a three way call because that takes up a lot of time to just get everyone on the phone and it is weird to hear a bunch of people at the same time on one phone.”

Apologizing:

“Texting is a good way to apologize to someone because if you apologize to someone face to face or even just talking on the phone the person can yell at you or hang up or just walk away…”

What’s important about texting is that as a new form of communication it enables experiences under conditions where they might not otherwise have happened.  Yes of course, the connection is impoverished when compared to face-to-face interaction, but if it was your teenager: would you choose to have them lose a good friend because they weren’t able to apologize face to face?  I wouldn’t.

I’ve made the very same point about Second Life many times… people say “Virtual worlds reduce the quality of communication”, and sure they are right, regarding fidelity.  But I have had a Japanese guy walk me around the beautiful house he built with his own hands in SL, all the while explaining his culture and the choices he made, with both of us only able to speak because our text strings were being auto-translated into each other’s languages as spoke.  This is a man and a culture that I might otherwise never know, one that I become closer to by knowing, and the world better for myself and all others who do the same.

  • Blog Stats

    • 4,531 hits
  • my recent tweets

    Error: Twitter did not respond. Please wait a few minutes and refresh this page.

Follow

Get every new post delivered to your Inbox.

Join 35 other followers