I've seen and written a lot of background jobs in my career and in my experience, they are most common culprits to hard-to-diagnose issues in website operations. Which of course makes sense, background jobs aren't visible to website maintainers or users so how do you know something is wrong until a job fails or makes catastrophic changes? This is why, with background jobs, it's even more important than your standard component code to ensure the job executes successfully. The three aspects to a perfect background job are that the job is configurable, executable and monitorable.
I'm based out of Cincinnati, OH
I work as the Adobe Digital Marketing Technical Director at Perficient