Hi @theonlyrealtodd. I'de say that the process of solving a problem is , for me, the most rewarding though favorite part in programming. You're given a particular issue, and you work your way through it by trying things, learning from your failures and picking the brain of others.
You may end up tired, frustrated, but in the end, the only thing you go away with, it's this overwelming feeling of achievement .
Have a good one.