How would you design software that integrates with external APIs, databases, and physical hardware for KBR projects?