Designing a communication network is a challenging task that requires selecting a network topology, as well as specific protocols and mechanisms, to meet current and future demands. Equally daunting, managing the network requires tuning these protocols and mechanisms over time in response to changing constraints and conditions. However, the protocols underlying today's data networks, such as the Internet, were not designed with manageability in mind. As a result, managing these networks is, at best, a black art practiced by an increasingly overwhelmed community of engineers. Optimization tools can help the operators tune the protocol configuration and diagnose performance problems, based on measurements of the underlying network. However, many of the existing protocols were not designed with optimization in mind, leading to computationally difficult optimization problems even for the simplest of objective functions. In this position paper, we argue that future protocols should be designed with optimization in mind from the beginning, to simplify the process of configuring the protocols and diagnosing performance problems.