It's true that you won't have 250 jobs in your career. But you don't need 250 jobs in your career. Take 10 jobs over 10 years. Eventually stay at the one that's promising. Startup returns have power law distribution, I'm sure you'll make some money eventually.
I don't know, my math might not be perfect, but it's not as ridiculous as you make it look.
> What are the odds you actually land that 1/250 that has a great exit?
What are the odds you're getting that Google job? Google has 0.67% acceptance rate apparently. That's only 7% probability of getting that job over 10 years. Or do you think you're more qualified and your odds are higher? If you think you're more qualified, then why do you think you're less likely to pick the right startup and get the right startup job?
Wasn’t it 1/250? Sorry but you’re pulling numbers out of thin air, all you have here is wishful thinking. Fact is most people who work for startups will not “eventually make some money”, their shares will be worthless.
In order to hit it big, you need to either be at the top of your field, which gets you exposure to unique opportunities, or be really good at picking winners (you might as well switch to VC in that case), or just be lucky. You can’t hop from one random startup to another and expect to become rich.
Again, probabilities don’t work like that. You’re not rolling dice to apply to Google, and FAANG jobs are not unattainable, nearly everyone I know that wanted one, got it eventually. Then you have guaranteed high income.
You can choose either life, and the risk/reward ratio is certainly much much higher for startups, but we have to be honest about the odds - they are not great for non-founders.
2) "you couldn't have picked a worse example" HAAAA! You are wrong. wrong wrong. A) Do you even know what a memory leak IS and why/how it occurs? B) Did you understand what I said regarding stack allocation and out-of-scope equals "memory gone" and how that fundamentally differs from heap-based allocation as ALL JS OBJECTS ARE!??? you are wasting my time, friend.
you are straight up copying marketing lines from node.js with no apparent understand of what a single threaded event loop even is! (it is a gui system. almost all windows-style apps since 199whatever have an event loops as ONE of it's threads. Open X-code or Visual Studio and make a generic desktop app, and add a button and make it's click handler call a method of something or other. Check a moderately complex audio visual production application for clues on just how many threads one uses and for what purposes are they separate threads, etc.)
You then mention VERTX AND GOROUTINES RIGHT AFTER EXTOLLING THE VIRTUES OF A SINGLE THREADED EVENT LOOP. GO LOOK UP WHAT THOSE 2 SPECIFIC TECHNOLOGIES USE AND DO, VERSUS A SINGLE THREADED EVENT LOOP.
Do note why single core limits exist for single hardware thread execution worlds and stop saying that interleaving tasks on a single execution core is superior to architecting synchronized activity across all cores, and do note that you are primarily referring to CRUD web-dev while positing very erm controversial positions on programming language use-cases.
Node JS is a terrible high-volume web server as all of the alleged virtues you extol are workarounds from the single threaded execution model of what was never designed to be a server language. I will say it again: HTTP is a stateless protocol involving a request (method call) and response (what it returns) it then goes out of scope and disappears. no memory leaks. no heap memory allocation. no malloc. no new, etc. it's just poof gone. got it? this was done on purpose by smart computer people. If you want to run each request as a separate OS process, don't blame HTTP, but the primitives were designed for efficiency.
please DO look up what heap vs stack allocation is. please DO look up what a register vm vs a stack vm is. please DO not confuse scripting or glue code with machine code, as the machine code of your javascript program is precisely the javascript runtime with it's execution paths being puppeted by your script language. you are literally pushing someone elses buttons and calling it computer programming. no offense, that's why it's a high level language not a low one.
when you resort to reductio ad absurdum suggesting assembler as the tool for all programming, you are not engaging with anything I have said or written here, as tools have purposes, not everything is a hammer/nail
in a way, you are not wrong, as a macro-assembler, or C or C++ or Rust or Zig or Nim etc (non garbage collected compiled language capable of outputting machine code as the final target) is the next level up from asm.
Why do you suppose that Chrome is not written in JS but rather largely in C++?
I don’t know what you’re excited about yelling in caps - VertX uses and event loop. Goroutines are cooperative scheduling. Yes, they can also coordinate over multiple threads (guess what, node can too) but the underlying architecture for processing requests is the same.
> Node JS is a terrible high-volume web server
Again, why would that be? Node was invented precisely to be a high performance server. It’s literally it’s purpose, and it delivers. Check out any benchmarks like TechEmpower and guess which platforms you’ll find near the top. I’m not saying it’s the best choice but just stating facts. Nothing else to say here - you obviously have strong opinions but zero hands-on knowledge on this area.