HNHacker News
TopNewBestAskShowJobs

alecbenzer

1,165 karma · joined May 28, 2011

https://alecb.dev
submissionscomments
alecbenzer··on My company sold for $100M and I got zilch – how can that be?
I just don't think it's a very useful mindset. Or at least, it's not a useful way of phrasing that mindset.

You should absolutely understand the very large chance that your equity is worthless. You should absolutely 100% not plan any part of your life around the equity being worth something. You should understand that, even if the equity is ever worth something, it won't be liquid for a very, very long time.

...but all of that is different than it being worth nothing. I feel like the "your equity isn't worth anything" mindset leads to employees allowing startups to give them smaller amounts of equity than they should. It leads to employees not questioning bad practices (like 3x preferred participating shares) as much as they should.

I've had people quote the "equity is worth $0" thing to me in negotiations about equity/reups. In my head: "Oh that's actually great! You can just give me your equity then instead of me having to negotiate a reup with the company."

Said another way: let's say you find out your startup's VCs have participating preferred shares. There's a world where that's fine -- you just now need more equity to get to the same place as you would in a company that had non-participating preferred. But you need to reason about the value of your equity to reach that conclusion. "Equity is worth $0" discourages thinking about that stuff.

alecbenzer··on My company sold for $100M and I got zilch – how can that be?
Mid 20s, but that's not a useful way to tell someone you think they're wrong.
alecbenzer··on My company sold for $100M and I got zilch – how can that be?
$1M over 4 years is L4 at Google. https://www.levels.fyi/salary/Google/SE/L4/

edit: Oh, well I guess that's not counting the startup's salary. If they were getting paid $200k/yr, that's L6 at Google https://www.levels.fyi/salary/Google/SE/L6/. Less easy, but not as hard as getting to VP.

alecbenzer··on My company sold for $100M and I got zilch – how can that be?
> Employees that are paid common stock didn't put any money.

> It is like playing a lottery, but only with opportunity cost.

So, they did put in money. It's "opportunity cost" money as opposed to literal cash, but logically it's still value being invested in the company (the company has $X more in the bank because the employee was willing to take a $X pay cut).

Compared to VCs, engineers are making a lot more of an investment in terms of % of their potential value for a less favorable return.

I think VCs get better terms because A) they control an amount of capital that's rarer and have more leverage, B) they do this professionally and are better at negotiating things. But probably mostly A?

alecbenzer··on My company sold for $100M and I got zilch – how can that be?
I feel like there's a lot of founder/non-founder equity disparity that doesn't quite make sense. If it ever got to a point where startups genuinely had a hard time recruiting good talent, I would think/hope that one lever available would be to shift the equity balance a bit.

Another might be to just pay engineers in cash closer to their market value. I think (not sure) that people in other fields who work at startups end up having a smaller gap between elsewhere comp and startup comp? Though that also usually comes with even less equity.

All that said, most startups seem to still be able to hire. Maybe people find the experience rewarding enough relative to FAANG to accept the gaps. Maybe people don't quite do the math to understand what the outcomes look like.

Personally, I had left FANNG to go to a startup a few years ago, was recently looking for a new gig, considered going back to FAANG, but decided on another startup that I liked for a lot of reasons, and got myself to a point where I thought the break-even valuation wasn't too crazy. But it's very much not "this will make me rich" and more "this seems like it'll make me happy and I feel like I'm not literally setting money on fire by going there".

alecbenzer··on My company sold for $100M and I got zilch – how can that be?
You can't possibly actually values your shares at zero. Test: can I have all of your shares? No? Well then you must value them at _something_. What if I gave you $1? 10? $100?

Just because something is (even incredibly) risky doesn't mean its value is zero.

alecbenzer··on My company sold for $100M and I got zilch – how can that be?
Normally the way the preference works is that you "give up" your shares in exchange for being paid back, as if you had initially given the company a loan instead of bought equity.

E.g., you invest $1M, company sells for $15M, and you want to be able to get $2M (2x) of the $15M in exchange for your investment.

With regular preferred shares, you get paid your $2M and then that's it, your initial $1M is paid back.

With participating preferred, you get your $2M, but then act as if you still had the equity that you bought with the $1M (even though you basically already got paid back for it). So you get $2M + whatever your cut of the remaining $13M is.

alecbenzer··on DuckDuckGo's traffic keeps growing
I think Google is a bit smarter about that? I.e., I'm pretty sure it detects things like "you click on one link, come back after 10 sec, click on another link and then never come back" and correctly attributes the weight to the link you stayed on.

Possible I'm wrong though. Or could be the heuristics for how long you stay on the page are off. E.g., it can take me a while to realize that some GitHub issue page doesn't help me at all, and I click back, then find another page and get the answer immediately. But maybe Google thinks "well they spent a while on that page, they probably got something useful out of it even if it didn't totally answer their question".

alecbenzer··on The next big thing will start out looking like a toy (2010)
Why? Hedging is fine. I think it's important to accurately communicate how certain you are of a thing. Constant hedging is annoying, but so is stating everything as if it's a fact, despite how sure you really are.

Communicating confidence is useful.

alecbenzer··on Yes, Estimate Software Projects
For sure, that's what I meant by the ROI bullet.

I just often feel like people want estimates that go beyond the level of precision/accuracy you'd need to make a relative ROI call. And just in general don't do a good job motivating _why_ they want the estimate.

alecbenzer··on How to prepare a technical interview (and why good programmers also fail)
Lol this was so out-of-place given that most of the other advice was pretty reasonable.

It would definitely seem a little odd if someone used no keyboard shortcuts at all (like, edit->copy, edit->paste), but even then I can't imagine really dinging someone for it if they get through the problem at a reasonable pace.

alecbenzer··on Yes, Estimate Software Projects
I'm intuitively on team #noestimates but trying to have an open mind/not dig in my heels.

I feel like no one does a convincing job at communicating why estimates matter (and how much value you get out of how precise of an estimate).

Fundamentally, an estimate (or any piece of information) is really only of value if you're going to do different things based on learning it. E.g., given an estimate, you might:

* Prioritize one project over another based on ROI.

* Know when to communicate that something might be available to users (though that's still not intrinsically valuable, you have to have some kind of marketing/sales-cycle based reason or something that it matters).

* Know when to begin supply-line stuff so that a factory is ready to build a thing as soon as possible (but no sooner, since then maybe you're holding up parts of the pipeline from doing other things? maybe?)

I feel like so often people try to underscore the importance of estimates but don't say anything remotely close to the above. A lot of times it's just "this is important/urgent". Ok, so? If it's urgent then that's even more reason to start actual work instead of spending time planning, if you can't point to a concrete thing you'll do differently having known the plan.

Even when people do talk about the actual reasons for wanting an estimate, it's always totally in the abstract. The precision of an estimate is always on a "delivery day" level, even if that level of precision is totally unnecessary for what this particular estimate was used for.

I think the real reason for this amount and kind of emphasis on estimating really has to do with:

1. Deadlines make people work harder/faster.

2. It gives people sticks with which to measure people/teams.

I think #2 is mostly straight-horseshit. #1 is maybe somewhat true, but I think it's not nearly as good as other ways of getting people motivated to work harder which have fewer negative externalities (e.g., more autonomy, instilling more of a sense of ownership).

alecbenzer··on New pathfinding algorithm
> the chunk-graph does not change during gameplay

We mean the chunk component graph, right?

That does technically change, because you can use https://wiki.factorio.com/Landfill to fill up water and modify which positions a chunk component takes up (and also potentially merge two chunk components), but I think that happens rarely compared to pathfinding.

alecbenzer··on What you need to know before you join a startup
They mean the risk is higher quantitatively because the money you're giving up from Google, etc. is higher than average for a software engineer. OTOH, nothing about the reward changes depending on what other places you could be working at.
alecbenzer··on Go 1.12 Released
Is rounding of a float manipulation?
alecbenzer··on Move Fast and Migrate Things: How We Automated Migrations in Postgres
This is true, but it's a bit of an implementation detail. All I'm doing is a schema change; a migration is what the database does under the hood to facilitate it.
alecbenzer··on Ask HN: Top three questions for a startup before accepting a job offer?
> - Who do I report to? -- this trips some startups up, but can highlight potential issues.

What are good/bad answers to this question?

alecbenzer··on “Tests should be poorly factored”
I meant the test itself being poorly factored. But, even in that case, I'm not sure realizing that square(inp) == square(inp) is silly would direct you to go to manual input/output lists and not something like square(inp) == inp ^ 2.

This is of course a bit of a contrived, very simple example, so it might seem silly, but I think you can imagine more complex functions where it's less clear that "computing" the expected output in some way "cheats" the test.

alecbenzer··on Tech Choices I Regret at Spectrum
That sounds like you'd need to manually enumerate all possible queries you'd want to listen to and have all writers do the work of deciding which channels to update.

The idea of simply being able to listen to a query without any additional work sounds like it could be really attractive in certain situations.

alecbenzer··on Five Years That Changed Dating
That's definitely not proof; there's other explanations.

E.g., maybe women take longer to lower their standards, so while eventually they become less picky, as a whole women might have higher standards.

Maybe the extent to which we're at below 100% "matched" is due to higher standards by one side.

alecbenzer··on A fun optimization trick from rsync
Awesome, that's horrifying.

One concrete issue with this technique: it doesn't "loop". Meaning, for example, if initially method #3 doesn't work but method #4 does, it'll settle on method #4. If later, method #3 starts working, it won't switch it. Worse, if method #4 stops working, it'll just always fail.

I imagine this isn't an issue for rsync's use but could be a concern if applying it more generally.

alecbenzer··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
That's consistent with Google promotions though -- being promoted doesn't mean going up in the org chart.
alecbenzer··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
Huh, interesting, I don't believe that's consistent with Google's use of the term from what I remember, but that does seem to be the meaning I'm finding now.

So yeah, fair enough, I do just mean "ranking" I guess.

alecbenzer··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
I used to. What's the misunderstanding? (My current understanding comes from my memory of a manager I trusted explaining it.)
alecbenzer··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
Stock at most FAANG is liquid though. Google even has an auto-sell program where you basically never even see the stock.

Agree to all the other points though.

alecbenzer··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
You're claiming total comp at non-Netflix FAANG for senior-principal is $175k-$250k?

Would love to see any specific numbers you have but that just sounds straight up wrong. IME $200k-$250k is around what L4s at Google make in total comp.

Are you sure this isn't a salary vs. equity thing?

alecbenzer··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
I think stack ranking can work well when it's understood that the quality bar doesn't sit at a fixed place in the stack. Google promo committees afaik stack rank a batch of employees and then decide where in the stack to promote, and (in theory) it can be anywhere from the whole stack gets promoted to no one gets promoted.

Whether you explicitly stack rank or not, if you give some people promotions and not others, you're ranking people. Forcing you to see the whole ranking at once seems like a good way to be more objective and cut out bias.

alecbenzer··on Facebook destroys billions of dollars of shareholder value with open source
Is there any reason to believe react would be anywhere near as popular if it weren't open source? Or am I not getting where the $3 billion figure is coming from?
alecbenzer··on Plus codes: addresses for everyone
Buildings generally only have one address, usually considered to be wherever the "main entrance" to the building is AFAIK. Additional entrances to the same building could probably be identified by the street they're on, but they won't have been assigned a street number.
alecbenzer··on Guidelines for writing readable code
There's a spectrum of how 'local' a variable is though. There's a big difference between a local variable whose uses span ~5 lines vs. ~30 lines. You're making a trade-off between repeating information (what the variable is) and forcing the reader to keep in their own (human) memory what each variable is for (or else forcing them to constantly go back and re-discover what the variable is for).

Go sometimes gets a lot of flak for its style here (partially because it's sometimes misapplied) but I think it works pretty well: it's fine to use a short non-descript variable name like `a` if its uses only span a few (~5-10) lines (or other certain special cases like `i`, `j` for loop indexes), otherwise use longer descriptive names.

← PreviousPage 4 of 11Next →