Been tackling a hard code problem that requires a deep understanding of the way that a service renews and flags users as renewed. The time of the day this happens matters. How the specific user data is stored matters.
The extra hard part is I keep having to take a week or two away from the problem to put out other fires for the same client. That means each time I come back there is around 30 minutes of ramp up time to get back to the same knowledge point.
I'd guess this is an issue for all programmers.