This might not help you, but it might help someone earlier in their career.
I was born, raised and studied in South Africa. Living costs and salaries are cheaper. I worked in California. Instead of living a lavish lifestyle, I saved. In hindsight, I should have saved even more. The important thing I did was opting for cheaper housing. I worked hard, which opened doors. I landed up at a startup that's now doing really well.
I retired after just six years. Six more years later, I'm doing what I want. I've been cycling around Europe and Africa. Next week I'm flying to Canada to explore North America for the next two years. It's a pretty cheap lifestyle, but I get to experience life around the world in a way few people ever do. I'm working on building a presence on YouTube. I've met others who sustain their travels via YouTube. Even if I don't, I can keep going for quite some time living off of savings. I wouldn't be able to do this so easily if it weren't for stock.
I'm not advocating a travel lifestyle. Instead, I'm advocating for saving up while you're earning decent cash. Don't blow it all. Then hopefully you can leave for what you really want to do, and not be tied down due to finances.
Not only is this unrelated to the OP, but it's also not actionable advice. Sounds like you got lucky and got a bunch of great stock. That's not something most people can count on, and housing in American urban centers only goes so low.
I found the anecdote of retiring in 6 years to distort the message significantly. Sure everyone can save more but that likely won't result in massive lifestyle changes in a short time frame.
Kind of depends. Plenty of people COULD live like a monk and save a ton over 6 years. But that requires not having a family and likely not enjoying your life very much. I probably COULD live on significantly less than I make right now. Hell, I have in the past.
But I sure didnt enjoy it very much.
But if you lived on rice and beans in the cheapest place you could find while making a 6 figure salary... Saving a very significant sum every year would be possible.
Six years is certainly lucky, but it's easy to save working as SWE. There are people living in your city on a tiny fraction of your income. A person without commitments could save the entire diff, if they wanted to.
And travelling is cheap as well, I have a friend who is travelling long term for like $300-600 a month, including all the transportation costs, etc. (The opportunity cost of not working is obviously much higher though.)
Yeah for real. I think that any dev can retire by 50 if they want to. Maybe by 40 if they really put in effort, but if you're retiring before your mid 30's you're either 'leanFire' meaning you've basically committed yourself to a life of relative poverty or you somehow got hold of a 'lotto ticket', and that, by definition is extremely rare and not something anyone should plan for.
"I wouldn't be able to do this so easily if it weren't for stock" does not. It's misleading to attribute early retirement to a frugal lifestyle and savings when it appears that they hit the lottery.
> "Save while you're earning decent cash" seems pretty actionable to me.
This is in fact pretty unactionable unless you are planning on boondocking during your career and retirement - at which point - why bother with post secondary education and a white collar job in the first place, just boondock from the getgo.
I was able to save around ~$800k over 6 years while living in the Bay Area, that's now at $1.45mil two years later. But I consider myself extremely, extremely lucky.
It's incredibly unrealistic for anyone to replicate that sort of principal savings and then return. You might as well suggest buying lottery tickets, which you essenntially admit. This is either bad advice or shameless bragging, but tough to see it in any charitable light.
How old are you? Do you have any dependents, a partner, children? Do you have any health issues; what do you do for coverage? What are you going to do in 'n' years when you're older, less relevant and broke?
I too am a saver, and over the past 20+ years we've been suckers. The problem is I grew up as a child when a savings account, essentially a zero-risk asset, paid well over 5% interest. That hasn't been true for a long time, with inflation & taxes grinding away at any marginal gains. I wish I'd financed and leveraged more, not consumption goods but investments. The other problem with being a saver is it's very hard to be one, then flip and be a consumer of your savings. The thing that makes you able to save is also what holds you back from spending. There are a lot of baby boomers who have a lot of assets yet still live very thrifty lifestyles; especially if they grew up blue collar when you could "save yourself rich".
As an early career I agree with almost everything you say except doing it to quit and not work in industry
I mean, I save quite a bit (more than a third after taxes) just because consumerism is annoying. But at the same time getting paid to write code and learn how computers work seems like a pretty sweet gig to me long term. Especially because there's a compounding effect, the more you know the easier it gets to learn new things
And big company bullshit isn't that bad, at least to me. It's a bunch of convenient things to complain about
We actually have a traffic replica (dark client) setup for the new webserver architecture we are gradually migrating to. It likely would have caught this before deploying to users.
We have very comprehensive dashboards. Getting the perfect ones that help in all cases, while not being information overload (the problem here) and being discoverable is a hard, iterative process.
Yes, monitoring requires a lot of tuning until you find a sweet spot, but it doesn't sound like this is something that would've been buried deep in the annals of monitor. CPU/load data on your web servers should be pretty visible/accessible and one of the first graphs that get pulled up (and your alarms should've pointed out the issue anyway).
I'm not sure what you're using for dashboards but Datadog makes it pretty easy to find this stuff. I'm not a Datadog shill and I actually am not a huge fan of the product, but it's what we use and it's been a big help over our previous Munin installation.
Other process changes that could prevent this are good load testing in a stage environment and getting your company using the real prod code on the real prod infrastructure as its main/default install. A lot of the benefits of "dogfooding" are lost if you're using alpha code on dev-only boxes (as you state that you are in another comment).
As another commenter said, I'm not sure that postmortems like this are valuable unless the problem was particularly complex/interesting. I'm sure that a lot of people at Asana know how to fix this and that it's just a matter of getting management to allow them to do so. I'm sure you owe your customers an explanation of some sort, but I don't know if you need to get into details that say "Yeah, it was just a pretty typical organizational failure, we really should've known better". Everyone has those, but it's best not to publicize them too much.
I'm not going to hold it against Asana because I've worked at a lot of companies and I know how this goes, but when people come here and analyze the cause, as a postmortem invites the readers to do, you seem a little defensive. Perhaps it's best to keep the explanation more brief/vague when it's not a complex failure.
When you do daily deployments, you can't QA every one much. You rely on automated tests and Internal users using the new code for a couple hours before the deployment. We were unlucky in this case with the number of bad releases. Each was relatively minor, and ironically one was to fix a bug with the code that caused this outage. We run a 5 whys for most of them.
Every response from our users so far has been thanking is for the transparency. It also represents our internal transparency, and that has a real impact on recruiting.
Does kinesis not support UDP sylog style logging, some of these old technologies had the right idea: if your sending too much data, drop the packets on the floor instead of falling over!
This was the first time we had this class of outage. Many things were in a very bad state, and many of these symptoms were more familiar to us. So we spent time ruling them out before realising webserver CPU was closer to the root cause than the other symptoms.
We roll back by reverting to a previous release on the load balancers, which is usually pretty instant. The previous releases were bad and themselves rolled back, which is a rare situation for us. So there was a bit of scrambling to look into the chat logs to determine a safe (non-rolled back) release we could roll back to. Then the high CPU caused our roll back to be really, really slow. Then we still had old processes running the bad release running, and killing them on webservers with high CPU took a while to actually work. Then it took a bit of time for load to come down on its own. All of this took place within the 8:08-8:29 window reported in the post. And I'm still simplifying a lot.
What I don't get is why you didn't see the relatively low cpu usage on the database server and the super high ones on the webserver immediately in a nagios (or similar) dashboard.
It's because they don't have a simple rollup dashboard that you can see that at a glance, like most places. Can you imagine if your car just showed you an event log for a door open, oil, turn singles on etc. that's what most monitoring systems are like these days.
Roll backs are in chat logs? I'd assume your scripts would record what they do when they do it, including roll backs.
Also, when only deploying two times a day, it's harder to tell which of the included changes have the problem. That's an argument for more frequent deploys!
Out of curiosity, why are you deploying to all your web servers simultaneously? Could you not do a partial roll-out to make sure something like this doesnt happen?
We have talked about it. It is unlikely to helped with an event like this, and I don't recall an event where it would have. It also has the downside of extending our deployment cycle by a lot. Notably, we do run a canary internally, and that had no issues, which actually through us off for a while because while the app was partially down for users it was working for us and that hasn't happened to us in a while.
I work at Asana. There's no way we'll drop our free plan. It's too fundamental to our sales model. We are, however, thinking a lot more actively about what features to make premium. Largely new features we haven't released yet.
While that's true, the implication of the OPs statement is that the free plan does a great job converting users to the paid plan. While that's true, they'd be crazy to ditch it.
Yeah, jerk! Answer for your unknowable future! "No way", indeed... the temerity, to suggest their product will be free after the heat death of the universe.
Jokes and other forms of amusement are banned on HN. It's been found that people here take things way too seriously, so the mods decided to ban jokes and humor outright.
You know, I've had my share of rants, etc. on HN but revisiting Reddit has made me appreciate the HN policies more.
I generally avoid Reddit these days, except occasionally dipping into the VR sub-reddits. The level of stupidity, entitlement, and general melodrama is ludicrous.
It's like when you're subjected to the nonsense of a person who's become accustomed to being the smartest person in a dumb room.
HN is just a smarter room. Like Reddit 10 years ago. We should defend that.
I'd pay for Asana if I ever needed to manage a small team on a personal project or if I start my own company. There's just too much intertia for me to change the project management software at the clients I work with now as a consultant.
I was born, raised and studied in South Africa. Living costs and salaries are cheaper. I worked in California. Instead of living a lavish lifestyle, I saved. In hindsight, I should have saved even more. The important thing I did was opting for cheaper housing. I worked hard, which opened doors. I landed up at a startup that's now doing really well.
I retired after just six years. Six more years later, I'm doing what I want. I've been cycling around Europe and Africa. Next week I'm flying to Canada to explore North America for the next two years. It's a pretty cheap lifestyle, but I get to experience life around the world in a way few people ever do. I'm working on building a presence on YouTube. I've met others who sustain their travels via YouTube. Even if I don't, I can keep going for quite some time living off of savings. I wouldn't be able to do this so easily if it weren't for stock.
I'm not advocating a travel lifestyle. Instead, I'm advocating for saving up while you're earning decent cash. Don't blow it all. Then hopefully you can leave for what you really want to do, and not be tied down due to finances.