Other needed topics in this series: “You have built a database”, “You have built an orchestrator”, “You have built an RPC layer”, “You have built a build system”…
...which often happens when somebody creates a UDP-based protocol and then adds their own reliability and robustness on top of it ;)
And if you don't have that problem then you're probably also reinventing HTTP as well as TCP.
[0] without head-of-line blocking
[1] ideally with controls over how reliable we want our messages to be. Real-time usecases like videoconferencing or multiplayer games tend to fail horribly over TCP.
"Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp."