ARoseByAnyOtherName wrote: ↑
Thu Oct 10, 2019 5:37 am
The only magical thinking in this thread is you thinking that Windows and O365 is technically “poor”, either compared to the competition or in and of itself. Can you educate us on why you believe this?
This post on the deficits of Windows is accurate: http://blog.zorinaq.com/i-contribute-to ... ther-oper/
. See also https://github.com/Microsoft/WSL/issues/873
, or comments from any programmers who want good filesystem performance on Windows. The reasons are wrong, but if we're talking about technical excellence, Windows isn't it. I'm not a Linux fanboy, Linux is technically poor when compared to some BSDs or Solaris, but technical excellence simply doesn't matter in the market.
Windows networking hamstrung Azure. If you look at cloud networking latencies, Microsoft was in third place by a large margin for years once Google fixed VM-to-VM communications essentially having to go outside and back because they couldn't handle security properly otherwise. Azure wanted this fixed but Windows, as an org, didn't care and would put critical fixes that were costing customers on the roadmap for two years in the future. This comic is a joke, but not incorrect: http://bonkersworld.net/organizational-charts
. To fix this, networking was moved into Azure, but the technical output was still poor, worse than you'd get by using DPDK. But in the Ballmer era, people were strongly discouraged from looking at open source code, so no one realized that Intel was giving away something with lower latency and better throughput. It wasn't until a year after Satya came in that people realized that their architecture was inferior to a free open source thing and that they needed a re-write to change the architecture if they wanted to keep up with free open source usermode networking let alone Amazon or Google's proprietary code. This comment is about one specific thing, but you can find something similar in just about every aspect of Windows. Are you a systems programmer? It's impossible to do cross platform systems level benchmarking and not see this. You don't even need to benchmark, you can just use VC++. It was the last to get something resembling C++11 support and couldn't get very basic template semantics correct. The reason for this is because they used macro substitution and not an AST to handle templates. If you tell this to a programmer they'll literally laugh out loud because this is so obviously wrong and unworkable that it would be absurd to attempt. They have since switched to using ASTs to handle templates, but only after over a decade of failed bandaids on top of the wrong approach and they're still behind as a result of the very late switch. Until recently, you didn't even to compile, you could just install. The Visual Studio binary installer was much slower than compiling LLVM and clang or gcc from scratch. If you trace the installer or look at syscalls, you would've seen that it was spending most of its time sleeping, not even on large I/Os. Classic programmer workaround concurrency issues: add sleeps. It works if you make the sleeps so large there's little risk of the concurrency bug killing you and it's the fastest way to fix it, but that's not what I'd call technically excellent. https://twitter.com/ID_AA_Carmack/statu ... 0020682752
There are places where Windows made a better decision than Linux, like IOCP, but even there, the implementation is so poor compared to Linux that you get better performance with epoll and friends. You see the same thing with ETW, which is arguably as good as dtrace despite the inability to insert trace points at runtime, which is a better design than anything Linux has (yes, I know about dtrace on Linux, in practice it's what you want). Despite that, if you want tracing, your options are much better on Linux, both at the RPC level as well as the system level.
I could give similar examples in Office, but I'll just do a quick one because this is far afield from the actual topic. People make fun of the backend of Google's office suit because they used OTs and not CRDTs, but O365 didn't even use OTs and used locking. For Word, this was originally document level and got more relaxed, but was still fundamentally broken for many years since there's no way to handle multiple edits properly with locking.
vrr106 wrote: ↑
Thu Oct 10, 2019 6:37 am
This may be totally unsolicited advice not germane to the investment discussion, but in hindsight what worked for me was to grow my career on a management track as opposed to a technical track. Regardless of market performance, one needs to stay relevant and that's what worked for me and that was my hedge.
I agree that this would be a good strategy. Simply looking at the number of people at each level, a larger fraction of people on the management track get promoted to the next level. I've scraped the employee directory at every coastal tech company I've worked for and this has been true everywhere. This would be easy for me to do since my manager is always joking but also not jokingly suggest that I start taking on reports but I think I wouldn't enjoy management.
I appear to be on track for a promotion to an IC level that we consider equivalent to director. If that works out, I won't have a good way to make the change without a significant pay cut since I wouldn't be able to switch directly over to being a director, nor would I want do because every director that I've seen has a level of stress in their job that I do not want. We do have senior ICs who manage without changing tracks, but unlike our larger peers, we haven't worked out how promo should work for these people. This makes it nearly impossible to get promoted if manage as an IC unless you work two jobs and do enough IC work to get promoted on your IC work alone while managing. This problem appears common among tech companies outside of some of the giants, where it's unremarkable for senior staff ICs and above to have more reports than most line managers.
AlohaJoe wrote: ↑
Thu Oct 10, 2019 4:05 am
Why will it take you a decade to get comfortable? In 12 months you'll have enough money to retire forever. The year after that you'll have enough money to retire forever and
buy a brand new $300,000 house before you retire. The year after that....
Mainly risk aversion and fear of the unknown.
Wannaretireearly wrote: ↑
Thu Oct 10, 2019 1:49 am
Maybe pick up some skills in related areas. Product Management, presentations, etc.
I do some PM work because my org is light on PMs and someone has to do it for successful projects that cut across multiple teams. I hate presenting but I give outside talks at least once a year to force myself to practice presentation skills. There are some areas where I know I should put in more time, mulling over this thread may be enough to make myself do that.
Wannaretireearly wrote: ↑
Thu Oct 10, 2019 1:49 am
Would you mind sharing the 20 to 30 companies outside FAANG who pay top dollar? I can guess a few, but would be good to know others.
I haven't looked for work for a while so I don't know this off the top of my head. Off the top of my head, here are a few.
Currently paying top dollar, above market rates if you're willing to deal with the working conditions, other companies generally won't match offers from here:
Snap, Pinterest, Alibaba (if you're Chinese and work on cloud, they don't consider Taiwanese to be Chinese).
Top of market:
Top of market for some specializations, willing to match top of market offers:
Google. Netflix (hard to classify, unlike most companies, they don't lowball people who don't negotiate, but it's harder to get an exceptional offer from them, I don't know anyone who has although I suspect that some people, like Brendan Gregg, have exceptional comp packages).
Generally willing to come close to matching good offers, sometimes dependent on org or hiring manager:
Amazon (actually top of market or close if you're staff or what they call principal), most previously hot companies that have IPO'd, including Dropbox, Lyft, Twitter, Slack, and Uber. There's probably ten or fifteen of these. Also Linkedin and Github.
Selectively willing to match good offers, highly dependent on org or hiring manager:
Apple (actually top of market in some areas), Microsoft, Oracle (cloud only), Cruise, Tesla, many smaller companies that pay most people poorly, too many to list.
This is all stochastic. Many individuals get offers from companies lower on the list that are higher than the offers from companies higher on the list. It also changes over time and I don't make an effort to keep up because I'm not looking for work.