Rules of Thumb for Software Engineering
There are plenty of great sources for details on programming guidelines, but it takes a bit of time to get through them. In the meantime, this article provides a great list that is short and will make your code better if you follow it.

How to Unlock More Resilient Microservices by Being Idempotent
Idempotence can be a major benefit for an application. For event-driven microservices, it might as well be required. It gives you the ability to replay operations and ensure that there aren’t any undesirable side effects. Have a service that has been messing up for the last 6 hours with only some operations occurring? Use your logs or messaging system to retry every request and it will get itself back to a good state. It’s not always as easy to do as this article makes it seem, but it can be a good thing to strive for when planning an application.