> In C, you can go ahead and misconfigure a makefile to output debug files, a segfault, or a bad reference, but at the end of the day, it’s your fault.
> The same goes for any serious language ecosystem out there.
> But JavaScript is quite the opposite: it works like magic (and not as a compliment!) even though you know it’s pure software!
I think we can recognize from these comments what is happening here. If you think that the tools you are working with are magic (whether because of bias, unfamiliarity or whatever), it will be much harder to pin down problems. If you understand that you're dealing with very complex, but deterministic systems, you will be able to work systematically, observe things carefully and carry out experiments to check your hypotheses, and you have a chance of actually discovering what's going on.