609 karma · joined March 24, 2016
Having said that, optimizing for perf is rarely worth it because people don't usually care, and when it is - you can often make the biggest difference by figuring out why some step requires O(n^3) instead of O(n) like it should and fixing that, rather than rewriting the entire stack to get some 10-20% improvement...
Amazing CISOs lead security by enabling others to make secure choices that still let them move quickly and deliver value. To do that - they shouldn't always be one hack away from losing their job.
This takes a ton of discipline, but in my experience the only alternatives are to either build up a ton of tech debt, or build things extremely well from day 1, only to end up dying due to low velocity (even if you get some critical decisions spot on in the beginning, no PM or engineering team that I've ever seen has been able to make only good decisions over several years...).
I too loved playing with crypto - read a ton of books, attended some crypto classes in University, implemented some crypto systems which I thought were secure, etc. - but nowadays I wouldn't dare use anything that isn't considered secure by a large audience unless I had extremely good reason to do so.
Basically, I think this is a strategy that's effective at scaring the US citizenry, but it is such a bad idea in practice no good adversary would choose this instead of the usual nuclear deterrent.
"Debugging Under Fire: Keep your Head when Systems have Lost their Mind" (Bryan Cantrill, GOTO 2017)
My anecdote - at a former big tech company, we had a long hiring freeze, and they even decided that when someone leaves or gets fired, their headcount goes back up to senior leadership who decide where that headcount should be (so as a manager, if you fire someone - you might lose the position entirely).
So, naturally, even since then there have been zero people fired, even if they are low performers, since managers want to keep their headcount. But talented people obviously still get offers and leave, and when they leave, their headcount disappears.
So after a year or so of this great policy, the average level of talent across the company is steadily dropping, which also means it'll be much harder to recruit top talent even after this policy is over - because most talented people want to join a team where they can still learn and evolve, collaborate with other smart folks, etc.
While I worry about people without access to banking (mostly people without documentation, but also the poor), I think they're on a course to resolve that too, and I for one would be very happy to not have to pay that much in taxes while seeing others cheat the system and reap the benefits...
At the startup, I was really impressed by the caliber of folks I met, and over the past 2 months I've been here, I've only grown more happy with my decision. It's so thrilling to see what a team of A players can get done when you set clear goals... I think it's worth the pay cut (to me at least), and I am very hopeful for a further exit to make me more than happy financially as well...
Some examples from the tech giant I called home for 5+ years until I recently quit: 1. When the pandemic hit, mangement froze all hiring and emphatically urged us to optimize costs so we wouldn't have to lose anyone. 2. When the pandemic concerned turned into the hype of 2021, we tried to hire at a crazy rate, often competing with insane offers. 3. When the war started, we again went into a hiring freeze, and now a round of layoffs.
In my experience - our management basically did what everyone else did, which meant we couldn't leverage any of our unique advantages and beat the market in some way.
The reason I joined the company I did after the megacorp is that they had a very simple strategy for hiring - hire top talent in strategic areas when you can find it, but ignore anything else, don't lower the quality bars, don't make insane offers, etc. It's almost as if having common sense is such a rare thing now, that it's become a winning strategy...
Replacing a managed solution in a small-scale product really isn't required, because it likely doesn't cost you enough. Replacing it in a high-scale product does matter, but that also mean you should be making enough money to make the replacement pay for itself. If you make the decision to use the managed solution and it's wrong, that's something you can usually fix. If you go DIY when you should have paid for it - you rarely get to correct it in time, and it might just be another nail in your coffin due to lower velocity, focus, etc...
If I could do it all again, I would have gone cloud-native (or at least leveraged K8s), and I'd use as many managed cloud services as humanly possible. At a later gig - we did just that, and we very very rarely had even 1% of the infra struggles we had with the solution I described above.
Nowadays, my basic advice is to always buy the best possible service when you start out, and only start to think about replacing it with DIY services when you have enough scale to pay talented engineers a salary to build AND support replacing it - and even then, the potential loss of focus and velocity might still make this a bad idea. There's a reason Netflix is still on AWS.
The former is indeed very high speed, in the order of gigabits per second (up to 48gbps in later iterations), whereas the latter can seem ancient in comparison - 500bps to 115.2kbps - several orders of magnitude slower. The reason is that while the high data rate bus is handled by powerful, dedicated hardware (GPUs and ASICs/FPGAs), the control plane is usually done by micro-controllers (or otherwise lower-power devices) that are responsible for general management of the display. Sure, it would be nice if they had more powerful hardware and a faster bus, but those changes usually aren't what people are shopping for and so the standards committees aren't pushing makers to make these changes...
The issue with investing using the "bigger idiot hypothesis, is that sometimes, you are the biggest idiot and are left holding the bag of sh$#.
Sadly, it seems that often the biggest idiots somehow end up in governments and financial institutions.