Archives for category: software

wikimedia commons

Understanding your options, with your stock options

(originally posted on here)

Who should read this?

I wrote this for anyone who finds themselves confused by the thought of trying to understand their stock options. Generally, this is for the Silicon Valley startup employee granted ISO’s (Incentive Stock Options)as part of their compensation package and who smiles and nods uncomfortably when someone asks them if they’ve got “stock”. Hello there.

Written by your average Software Engineer, in plain English, I’ll try to cover the very basics and terminology that I believe every startup employee should know. This will not cover tax preparation, specific tax scenarios, nor will it include any specific planning or investment advice. As a necessary disclaimer:

I am not a tax professional, I just find this stuff fascinating. This is merely a brain dump of my personal experience / research on the topic over the last 5-6 years. Take everything I say here with a huge block of Himalayan Salt. I highly encourage the reader to seek professional tax advice in addition to doing their own extensive research.

The Basic Strategy

Best case scenario: You were GRANTED stock options after joining a hot new tech startup, congrats! The grant itself is the long jargony paperwork you signed shortly after joining, which details everything you were offered. The OPTIONS are a compensation agreement, between you and your company, to the rights to purchase partial ownership of the company in the form of SHARES/STOCK. It’s worth understanding that you don’t own anything yet, an option (taken literally) is nothing more than the opportunity to own in the future. As time goes on, you will VEST your options, meaning more and more of your total grant will be available to act upon over time. Vesting, and vesting schedules, are generally an incentive for you to stay at a company for a long time. At some point, you may choose to EXERCISE your options, more specifically purchase some shares. The act of “exercising your options” means that you are agreeing to purchase a portion of the stock your company reserved for you. You hand over some money to your company and are now in possession of company stock. Congrats, you are a shareholder! Some time passes and you decide to SELL the shares you own. You find a buyer, they give you money, and the shares no longer belong to you. The general life cycle looks like this:

Grant ⇨ Vest ⇨ Exercise ⇨ Sell

What exactly do I have?

It is impossible to start talking about your options unless you know certain critical pieces of information. This is information that you should have probably known before joining a company, but if you don’t, that is OK. This information is available in your stock plan and from your company. This is information you should have seen when you signed your initial grant paperwork. If you haven’t seen/signed it, then you don’t have any options yet.

  • Option Type*: ISO vs NSO vs RSU
  • Vesting Start Date: Often the day you join
  • Vesting Schedule: Commonly 4 year vest, 1 year minimum (aka “cliff”)
  • Option Shares: How many options were you given?
  • Strike Price: What is your exercise price per share?
  • FMV: Fair market value, how much is the stock worth right now?

*Incentive Stock Options, Non-(statutory/qualified) Stock Options, Restricted Stock Units

You are entitled to, and should know all of the above bits of information. If you are missing even one of those bullets, something is wrong, go ask your employer to clarify. Go now, I’ll wait.

What are my options… with my options?

Many people don’t appreciate the value of having Incentive Stock Options. A lot of people join a company, find out they have stock options and say: “Great! … so what?” (Heck, I’ve been guilty of doing this twice!). ISO’s can only be granted to employees of the company and have some wonderful preferential tax treatment. You are given the access to a very scarce resource, namely the option for shares in a private company. Once given these options it is your responsibility to do something with them, and no one else’s. I’ve heard many people vent frustration that their employer/coworker/boss didn’t tell them more, but it is not their responsibility to do so – in fact an employer can face significant legal problems if they were to give you unsound tax advice, or even sound advice that just didn’t work out favorably for you. A smart employer will give you the minimum legal amount of information possible. It is up to you (hopefully with the aid of a tax person) to take appropriate actions with your options.

Generally speaking, the things you can do with your options include: do nothing, exercise, sell, forfeit

Do nothing

Many people do absolutely nothing with their stock options. Sometimes it’s because it’s part of their investment strategy, though usually this happens because people aren’t entirely sure what they can do. It is perfectly within your rights to do nothing at all. Your stock options will remain yours as long as you are employed at the company. Doing nothing (with ISOs) will not create a new tax liability, however it could significantly complicate your taxes and the flexibility with your options in the future. Specifically, acting too late could make it financially difficult to leave your company without giving up your options (due to the potentially large tax burden). On the other hand, doing nothing minimizes any personal financial risk in the more common case when a startup fails. Since, on average, most startups do not achieve financial success, doing nothing actually works out to be the most “profitable” choice.


At some point you purchase some of your options. You can freely exercise any amount of stock that you’ve vested to date, even if your company is not public yet. You can actually exercise before vesting, but that’s a more advanced topic to be researched elsewhere. After exercising, you could leave your company and take your shares with you. You could hold onto these shares for as long as you want and do what you please with them (in accordance with your shareholder’s agreement). You could purchase some of your shares and happily stay with your company. I personally exercised, printed a copy of my stock certificate and put it on my wall, *shrug*. Holding onto your shares is an investment. By doing so you are hoping that the value increases so that you can sell at some future date and hopefully make a profit.

Exercising ISO’s will not create a regular income tax liability HOWEVER! *record scratch + KILL BILL siren* it may (and likely will) create an AMT liability. AMT: the alternative minimum tax. Learn that acronym, hate that acronym, love that acronym – please talk to your tax person about that acronym. If you aren’t familiar with AMT, familiarize yourself with it elsewhere. One of the most common and dangerous mistakes people make is exercising their ISO’s and assuming they don’t owe any taxes. Exercising options creates some personal financial risk on the employee, but opens the door to much favorable tax implications down the road if the startup is successful.


At some point you choose to sell some of your stock. Remember, you can only sell what you’ve previously exercised. Perhaps you don’t like the idea of long term investments. Perhaps you need/want some cash immediately. Some people do what is known as a “same day sale”, in which they exercise and immediately sell their stock to another buyer. Selling shares requires you to exercise some vested options (previously or as part of the transaction), then find a buyer willing to pay a hopefully favorable price to take them off your hands. Specific details of the liquidity of your stock prior to your company going public will be documented in your shareholder’s agreement.

If you are selling your exercised stock options, you will again have a potential tax liability. Depending on how long you’ve held your exercised options before the sale, any profit made from the sale will be taxed as either regular income (if held for less than a year) or as long term capital gains (if held for over a year, and 2 years after grant). This last point (in profitable situations) is where one employee could potentially save thousands on taxes compared to their coworker who didn’t plan for this event.


Surprisingly, this happens more often than not. If you leave a company before you are fully vested, you will be giving up those unvested options. Additionally, when you leave, you will be giving up any un-exercised options, recall that you don’t own stock until you actually exercise your options. Many people don’t even realize they’ll be forfeiting their options when they leave a company. Again, this is completely on the employee to realize, understand and act upon. In accordance with your stock option plan, you will probably have around 90 days from leaving your company to exercise options before they disappear. It isn’t uncommon to electively forfeit options because of the significant financial risk it could place on the employee. An ISO exercise requires the option holder to pay out of pocket for their options and also suffer a potentially large AMT tax liability.


Startup stock options can be a very lucrative and profitable bet if you fully understand what you are getting yourself into. If you were granted incentive stock options, the ball is now in your court to educate yourself further on what it all means, and how to act on your options. Once again, it is not the responsibility of your employer to tell you what to do. I do believe that every person who possesses stock options should fully understand what their choices are and have a surface level understanding of the tax implications behind each choice. I hope the reader is now comfortable enough with the basic terms/process so they can learn more, talk with their friends/coworkers/tax professionals confidently, as they make their own preparations on how they want to play the game.

Choose wisely, and good luck!



Looking beyond Silicon Valley for product leadership, vision and inspiration

Never have I seen a product mind in motion so interestingly captured than in the 2011 documentary “El Bulli: Cooking In Progress”. The film, about one of the most decadent, highly rated and progressive restaurants in the world, featured world famous chef Ferran Adrià. Leading a world class team of chefs and service, Adrià is portrayed as a detail obsessed leader searching for the impossible – perfection.

A team “standup” is depicted, where each member of the large group described their name, specialized role, and by the request of Ferran, their previous employer. A young woman casually announces her name, and that she previously worked for Jose Andres, another world famous molecular gastronomy chef and former student of Adrià. The pedigree and composition of his staff was not too different from the waves of ex-Facebook and ex-Googlers in the Valley who gather and successfully form new ventures.

Ferran embodied a very polarized depiction of the characteristics I’ve seen in founders and product managers during my admittedly short ~10 year career writing software. He was a leader, he was a visionary, and he inspired his team to build. He obsessed with detail, process and documentation. This obsession was highlighted in a scene where a damaged hard drive lost a week’s worth of food experimentation data, he (like any good data informed PM) was furious.

He encouraged and innovated directly through experimentation. He tasted and tested constantly. He obsessed about both the macro details (the flow, the entire meal, the timing, [the user experience]) as well as the micro (the physical plates, the garnish, the exact amounts of flavoring down to the crystal of salt, [the pixel level detail]).

He insisted that new menu items would only be served to tables of two, and then slowly integrated into the main menu once they’d iterated, verified and truly perfected the dish. This part of his process really stood out to me because this controlled release process is no different than how we release new features at Twitter. While this might be a very standard and obvious process in the culinary industry, I was surprised and impressed with this strategy.

But Ferran also ruled with an iron fist. He had very little patience for failure. He was seemingly short tempered, impatient and stubborn. These characteristics reminded me of the description given by food critic Masuhiro Yamamato of Master Sushi chef Jiro Ono. A strange cocktail of otherwise negative characteristics that result in a close to perfect product. And while I’ve commented before about how the film Jiro Dreams of Sushi was more about engineering diligence, El Bulli was about the audacity to reach product perfection.

To be clear, Adrià’s impatience was only for sub-par quality, rather than an expectation for instant satisfaction. He electively closed his $350/person restaurant for 6 months of the year to spend time researching and creating his unique menus. He would, however, scoff and raise a fit when served a food sample from his staff that was not to his liking.

The “climax”, so to speak, of the film draws to a conclusion with Ferran sitting alone in the restaurants’ kitchen. Though surrounded by his 40 staff members and a full restaurant of satisfied customers, he might as well have been on the moon, alone with his thoughts. His unheard, yet likely inner monolog being: “It is not good enough, I can’t serve this to my customers”, the irony of course being that it was a 3 Michelin starred restaurant at the time. Omitted from the film was the unfortunate reality that such a strict disciplined approach was not sustainable. El Bulli sadly closed shortly before the film was released due to financial stress the process and 40+ staff likely put on the restaurant. This unfortunate fate, however, came only after Adrià successfully ran the restaurant for 24 years, whilst topping the lists ranking as the best restaurant in the world. The following observed qualities lead him to success, and perhaps the last one to his demise.

  • complete respect for quality

  • intolerance of the mediocre

  • inspired, and lead fearlessly

  • relentless experimentation and iteration

  • total willingness to reinvent

  • obsession with perfection

Maybe creating software has no comparisons to a world class Michelin rated restaurant. But as a food lover, and also software engineer, I’d like to romanticise and draw parallels between the two. Regardless, there are many lessons to be learned from observing Mr. Adrià’s legacy in motion. Perhaps we don’t all need to have an obsessive quest for perfection, but then again, if we aren’t serving out our absolute best dish, what is the point?

[photo credits:]

And you somehow never bothered to change it?
— Christy Lee, The Social Network

An observation (brought to my attention by @dozba): If you were one of the most powerful+influential figures in the tech world, and one day landed a sweet new job, how would you let the world know? People keep up to date what they believe and feel is the most important. I’d say that being the CEO of one of the biggest tech companies in the world is pretty darned important.

We ♥ you too Marissa, best of luck with the new gig!

And the runner ups…
[LinkedIn, Facebook and…. Google+]

[screenshots as of July 20, 2012]

The simplest design principles can go a long, long way. Start small, then grow from there. Let’s not over complicate things, or forget what we are really trying to build. I took a quick look at some of my favourite companies from around the web, and saw a whole lotta CRUD.

Which is your favourite crud, which did I miss?


What circles do you think you have been added to?

Google+ introduces a new type of privacy problems which I can only describe as the inverted personal privacy dilemma. It is no longer an issue of “What I choose to share with Google and then what Google shows to others”, the issue is now: “What friends/complete strangers choose to share about me to Google, and my inability to do anything about it”. The responsibility of maintaining my personal privacy has been partially removed from my hands, and placed in the hands of the people of internet.

Thought experiment:
Put 100 privacy aware/concerned people into a room. What would you suppose is the best way to create a global interest graph/taxonomy for this group of individuals? Algorithmically? Manually? First, ask them to fill out very basic personal information about themselves. We will probably have reasonable success. Next we ask them to fill in very specific personal information/categorizations about themselves. How do they react? Probably not as successful. Now ask the same group of people to write down and categorize the people around them, but remind them that their categorizations will remain secret. Each individual’s privacy has been maintained, and collectively we have created a very rich interest graph/taxonomy which is possibly far more accurate than any automated solution.

Read the rest of this entry »

I’ve been experimenting recently with a bunch of cool photosharing apps on my iPhone including: Path, With, Twitter, Facebook, Denwen, Color, Dailybooth… (takes breath). As much as I enjoy each one in their own unique way, none of them (yet) are able to capture the true feeling or ambiance of a particular situation, though Path is probably the closest. To be fair, most of these apps were not designed to do such. I’ve always found that regular photos (camera phone for instance) can decently capture a moment, but they often come off as rather 1-dimensional (figuratively speaking). So as an experiment, I documented ~72hours of my life by taking panoramic photos along the way. Below are shots of where I found myself wandering to over the last 3 days. For me, these wider photos do justice to some of the lovely views I get to see on a daily basis.

I am not a photographer, these are far from perfect, but I think they do a great job of giving the viewer a sense of where I was and what I experiencing. I recall reading that the switch for TV’s from 4:3 to 16:9 ratio was to make a more natural aspect ratio for the human eye. Well, even at 16:9 (which might approximate my eye’s static view), I often tend to move my head left/right, so hopefully these wide/POV shots are more emmersive. Lastly, I have to tip my hat to the team who made PanoApp, a great $2 iPhone app that does all the stitching work for you. Go download it and post stuff.

Anyway, here is 72 hours exploring in SF. This is not realtime, this is not broad casted/narrow casted, this is not person tagged nor is it geo tagged. Just some simple photos I thought some people might enjoy.

SOMA: The view from my desk at work, I have never used the monitor on the right

SOMA: Every Friday at TwitterHQ, teatime with drinks, live music and serious QA... I'm holding 2 beers.

SOMA: Walking over Howard St on the Yerba Buena bridge. I'm listening to Metric.

Embarcadero: My Thursday poker game with some of the nicest guys in town, though I'm about to lose a big pot

Union Square: The Powell BART station, heading out for food. I'm craving Chinese food

SOMA: Chatting with my coworker @alan about my panorama experiment. The pano is so meta.

Nob Hill: The top of the hill, just a few blocks from my apartment. Choice: Russian Hill ahead, China town the the right

Russian Hill: One of the steepest/funniest hills in the city. I'm thinking about tipping a car over (Broadway/Jones)

Russian Hill: Relaxing at one of my favorite "hidden" spots in the city. A random dog sits down beside me to enjoy the view

Dolores Park: Tons of people enjoying the nice weather. I'm wearing my pink sunglasses to fit in

Mission: The Summit cafe, a new but prototypical cool/geeky tech hangout with great coffee. I'm holding a fancy Cappuccino

The Marina: You can see the Golden Gate to the left, and Alcatraz to the right. It is really windy

Union Square: Tons of tourists lining up for the Cable Car and enjoying some local street performers

Mission: 16th St. BART, a shot of me going home after a long day of wandering. photo by @moizsyed

We see thousands if not millions of moments just like these on a day to day basis. Hopefully I’ll remember to stop and capture a few of them for me to revisit and share in the future. On a closing note:

I’ve recently spent quite a bit of time working with QUnit, a great unit testing framework for Javascript. While building out a larger test suite, I ran into a few issues, especially while testing/working with dependency managers and the QUnit test framework. In this post I’ll document some of the issues I ran into, some patterns I started using, and a few tricks I used to ensure consistent and reliable test results. The main issues I ran into were caused by the fact that I was testing modules that were being loaded asynchronously. This meant that in some cases QUnit would miss tests, misplace module labels, and/or report false positives. Now when I mention async here, it is not to be confused with QUnit’s native support for asyncTests.

Problem #1: QUnit.done misfiring

QUnit.done = function(qunitReport) {
setTimeout(function() {
  test("helloworld", function() {
    expect( 1 );
}, 100);

Read the rest of this entry »

I am always interested in looking at large sets of data. Earlier today, LinkedIn released InMaps which provide a simple tool for visualizing one’s network on LinkedIn.  After a few seconds of processing, I was presented with this colorful and interactive visualization of the ~200 connections I have on LinkedIn. Now I don’t have quite as many connections as others, but I was still very impressed with the powerful bits of information I was able to quickly get out of this graph. The plotting algorithm did a pretty good job, as I see 3 major clusters which are composed of my University of Toronto connections, the connections I made at my previous startup Thoora, and the connections I have made (mostly coworkers) since I moved to San Francisco for Twitter.

Read the rest of this entry »

I recently received a Wacom tablet+stylus as a gift and could think of no one else to draw for my first sketch but Alan Turing. This is a 4 layer Photoshop trace atop a famous photo of one of my favorite historical scientists. I figured it could be a late tribute to one of the guys who started it all. On this day (November 28) in 1942, Alan Turing was sending a report from Washington, D.C. describing his 2 week tour of America and their code breaking efforts for WW2. I’ve always appreciated his subtle humor and lingering disappointment in his writing/dialogues, this report is no exception. Always up for a challenge, and (seemingly) rarely impressed or satisfied; breaking German encryption codes and theorizing the modern computer wasn’t bad for a 30 year old math geek from West London.

“I’d say we have come a long way since Zygalski sheets and Hut 8 in Blechley Park, Alan.  Don’t forget to thank Welchman for that diagonal board.  R.I.P.”

Above is an overlay of every (CrunchBase listed) startup in San Francisco.  In an afternoon hack, me, @alan and @thetylerhayes scrapped the crunchbase API then mashed it into Google Maps to get an interesting view of the city.  I am always amazed at the amount of startup culture in this city (hence I moved here), but never had a chance to really see it from this perspective.  My office and apartment are somewhere buried underneath one of those pins.  I’ll try to put up a more interactive version of this chart sooner than later.