You can really learn alot rolling your own solutions, but k8s has already solved most of the pain points including service discovery. The great thing about minikube is you can easily apply the same concepts to a thousand node cluster or just your laptop.
Minikube doesn't solve the same problems at all. It solves one small part of what Sidecar does. Also note that Sidecar has already been around for 1.5 years and so when you say "rolling your own" it implies that this was a decision to not use something already available. But there wasn't anything at the time. And there really still isn't anything else that works across any deployment/scheduling platform in the same way.
Minikube does this so well: https://github.com/kubernetes/minikube
You can really learn alot rolling your own solutions, but k8s has already solved most of the pain points including service discovery. The great thing about minikube is you can easily apply the same concepts to a thousand node cluster or just your laptop.