How do you reason about latency, resource constraints, and network protocols when building software for infrastructure systems at Switch?