Learn and practice empathy. Make it part of your personal brand. Empathy is the most important skill a software developer can have. Without it, you have nothing.
Decorators are helpful for anything you want to transparently wrap with extra functionality. These include memoization, enforcing access control and authentication, instrumentation and timing functions, logging, rate-limiting, and the list goes on.