Our code structure needs to support both the functionality required by our customers, and our needs as developers.