I don't know why in the world people think that it's "normal" to sit still for hours on end focused on a task. Has that ever been natural for us? Kids can't do it. Most adults can't do it without caffeine or other drugs. Why do we keep trying?
The answer for me is balance. Work for two hours, then 1 hour break. Maybe exercise. Then when I come back, I'm focused and ready to go for another hour or so. Then maybe break, run an errand, have lunch. Take a short nap. Then work for another 2 hours.
Also, if you're having trouble focusing, ask yourself how much you like what really like what you're doing. I've been a programmer for 6 years, thought I liked it but had problems focusing, then realized my true passions were elsewhere.