When you write web code you should never have to worry about that. Actually, if you write any user space code, except drivers, you shouldn't have to worry about that. If you have to worry about it, reconsider your tooling very seriously
Talking about rabbit-holes. I used to have prototype OS/2 PowerPC 64-bit hardware from IBM before they killed the project. I should have kept that early EFI-based system. When the EFI boot sequence would panic, you would get an error message of "Danger Will Robinson".
My experience is that having a team with mixed platforms has helped reduce deployment woes, with the rare platform-specific bugs getting worked out beforehand.