sure. It used to be that major releases were tied with major features. InvokeDynamic on 7, Lambdas on 8, Jigsaw on 9. So since these were the features that were expected, the release only shipped when they were fully baked. Now is on a train-release model. You get whatever is ready to ship (big features can't delay a release anymore).
It's a lovely picture, and it makes a great point. If 200 people want to get to the same place, it's far more efficient to pack them into the same vehicle going to that place.
Now what happens when those 177 cars are going to 100 different places?
I'm assuming you live in San Francisco? As a visitor, it seemed to me that this was more due to the insane car-bus road-sharing conflicts, the inability of Muni buses to accelerate up a hill, and the deluge of 4-way stops.
Nope. Chicago suburbs, actually. But that's how long the buses take out here in the suburbs, and how long it's taken me in downtown Chicago before. I don't go on the buses that often, and this is one reason why.
The buses can have 20-40 stops in those 4 miles, mind you. I don't mean it's all due to traffic.
Then it’s much more efficient to cluster those 100 different places into a few compact areas, so that most of the people can walk or bike, or take the subway.
The problem is when those 200 people want to go to 100 different places spread throughout hundreds of square miles of evenly low density suburban sprawl like a modern US metropolis.
> Then it’s much more efficient to cluster those 100 different places into a few compact areas, so that most of the people can walk or bike, or take the subway.
Absolutely. But there will always be people who want to get to locations spread all around even a metropolitan area (as well as further-flung locations around that area), and while it's possible to build a public transit network to get them there, with enough throughput to cover the volume of people, the latency will still be worse than a point-to-point trip directly from point A to point B.
Can't stress this enough. If you have Employee Incentive Options is way better to exercise them as soon as they are vested than to wait (if thinking of exercising at all). When you exercise them you pay AMT on what they are worth when exercised (of course the "fair price" is a hidden secret left for the CFO). As time passes, the "fair price" is probably going to keep increasing, but with no liquidity and inability to sell your options you are stuck with the AMT with the fair price at the moment of exercise
Which is a risk, especially in companies where the strike price is close to $100/share. If it's going to be in the $10k+ range, is it really worth it to potentially reduce your future tax burden? Maybe. But it's also possible that your shares aren't worth that exercise price. Speaking only for myself, in my experience I decided to wait to see if the price was ever justified before buying the shares, and if it means a higher tax, then so be it. Otherwise, if it means walking away from vested, unpurchased shares, so be it.
Yep. Just because you CAN early exercise does not mean you can afford to do so.
I was fortunate because I was able to early exercise shortly after grant but when I knew the company was going public. Had to borrow some money to do so, but the couple hundred I probably paid in interest was more than made up for in the tens of thousands I saved in income taxes.
It takes the right scenario, to be sure. At the time I had no mortgage interest deduction so I could afford a double-digit paper AMT gain; I was still only subject to normal income taxes.
In theory when you leave the company, if it has not gone public, you get paid back the money you put in. In practice, if it goes out of business, you just lost all of the money you put in.
I don't think the strike price is really important, it's the exercise amount that matters. But there's certainly an element of risk, and saving money on taxes is nice, but not losing money is nice too.
Yes it is a risk, and it's worth careful thought. Mainly I just wanted to make the point that you don't have to wait until they vest. A lot of people don't realize that.
This advice could be risky. If they assign stock to you and you exercise it and there is any different between the current value and your strike price, that can be exactly what triggers the AMT.
If you exercise and sell at the same time, you will pay short-term income taxes, but without any AMT to worry about.
When the stock is assigned to you then there should be no difference between the current value and your strike price. That would be very unusual. That is why I was saying that waiting until you vest might not be a good idea because by then you might have an AMT issue.
I agree that exercising and selling can be a good strategy but we're (mostly) talking about private companies here where that may not be an option due to a lack of liquidity.
It should be noted that the choice to allow "early exercise" is made by the company granting the options. While it might be a good tax strategy, you do not (to the best of my knowledge) have any guaranteed right to be allowed to exercise your options until they vest:
That's an expensive lottery ticket. I used to do that, but on my 3rd startup now and yet to see anything. I could have bought a new car with what options I've converted.
I disagree, I think the hard skills for being a successful software developer are picked up by honing your craft daily working on the same project. Hackathons are too contrived since the goal is to have a finished product in 24 ~ 48 hours. Every time I have done one I throw away all the "Danger, Bad practice" signals from my sub conscience and work towards finishing the product/idea. Things that are important like maintainability (even if your hack is successful, and get investor funding you want to re-write it properly), coupling, testing, documentation, API, Memory profiling, Logging, performance optimizations, design patterns are thrown out the window to get that idyllic prototype out. Even working as a team, there is very little you gain from spending 48 hours with (mostly unknown) individuals than it is for your peers in a job where you actually have a favor economy.
And I don't mean that there isn't any value on hack-a-thons. I think you're right on dealing with deadline pressures and the ability of working yourself out of a problem in a pinch are valuable skills. I just don't think that's where the "hard" skills needed to become a successful software developer are learned.
I would biased-ly recommend javapubhouse.com (I host it). Is a tech dive on a Java topic that you can listen while on the radio/threadmill (you can close your eyes and follow the code) :)