One note on "If It Can Be Done with Code, Don’t Do It with Hardware" - there are times where locking things down in hardware is worth it. Things like safety and compliance for example - it is much easier to prove a hardware design is "safe" and fault tolerant than software.